[abc] cflow PTA vs CHA

From: Ondrej Lhotak <olhotak@sable.mcgill.ca>
Date: Fri Apr 15 2005 - 16:29:55 BST

I've finished comparing cflow with Spark CHA call graph against Paddle
PTA call graph.

In all benchmarks except weka and sablecc, the results are identical.

In weka, the number of update and query shadows optimized away stays the
same. However, there are about 400 query shadows that go from "never
valid" to "unreachable" as the call graph gets more precise from CHA
to PTA.

In sablecc, the number of update shadows optimized stays the same, but
the nubmer of query shadows optimized changes. For the stack where there
are currently 5 unoptimized queries in the paper, this number grows to
361 with CHA.

As for analysis times, the following are the total run time of abc, so
they include lots of stuff other than the analysis itself. Also, I just
noticed that for the Spark ones, I used the buddy bdd library while for
the Paddle ones, I used Whaley's bdd library. So, they're not really
a very fair comparison. On the numbers below, Spark CHA is slightly
faster than Paddle PTA on everything but lod-sim and weka, where the
opposite is true.

Paddle PTA:
ConaSim( 2 min. 49 sec. )
SableCCBench( 9 min. 10 sec. )
ants( 2 min. 46 sec. )
conastack( 2 min. 37 sec. )
figure( 2 min. 30 sec. )
gregor_quicksort( 2 min. 28 sec. )
law_of_demeter-cflow( 3 min. 49 sec. )
weka-3-4-bench( 10 min. 53 sec. )

Spark CHA:
ConaSim( 2 min. 11 sec. )
SableCCBench( 6 min. 18 sec. )
ants( 2 min. 22 sec. )
conastack( 2 min. 7 sec. )
figure( 1 min. 59 sec. )
gregor_quicksort( 2 min. 1 sec. )
law_of_demeter-cflow( 6 min. 13 sec. )
weka-3-4-bench( 11 min. 19 sec. )

Ondrej
Received on Fri Apr 15 16:30:01 2005

This archive was generated by hypermail 2.1.8 : Fri Apr 15 2005 - 17:00:05 BST