============ Section 1: Pretenure Results ===============
In this section, we demonstrats pretenure results of all different GC
configurations. for each configuration + benchmark, there are three graphs:
execution time, gc time, mark/cons ratio. NOTE: PRETENURE ADVICES USED IN
THIS SECTION ARE GENERATED FROM MERLIN TRACES OF OPTOPTFAST BUILDS.
By configuration:
appel.adaptive compress jess raytrace db javac mpegaudio mtrt jack health pseudojbb Geo_Mean
appel.optopt compress jess raytrace db javac mpegaudio mtrt jack health pseudojbb Geo_Mean
appel.pseudoadaptive compress jess raytrace db javac mpegaudio mtrt jack health pseudojbb Geo_Mean
beltway.adaptive compress jess raytrace db javac mpegaudio mtrt jack health pseudojbb Geo_Mean
beltway.optopt compress jess raytrace db javac mpegaudio mtrt jack health pseudojbb Geo_Mean
beltway.pseudoadaptive compress jess raytrace db javac mpegaudio mtrt jack health pseudojbb Geo_Mean
of.adaptive compress jess raytrace db javac mpegaudio mtrt jack health pseudojbb Geo_Mean
of.optopt compress jess raytrace db javac mpegaudio mtrt jack health pseudojbb Geo_Mean
of.pseudoadaptive compress jess raytrace db javac mpegaudio mtrt jack health pseudojbb Geo_Mean
NOTE: a=>appel, b=>beltway, of=>older first
NOTE: ad=>adaptive, oo=>optopt, pd=>pseudoadaptive
By benchmark:
_201_compress a.ad a.oo a.pd b.ad b.oo b.pd of.ad of.oo of.pd
_202_jess a.ad a.oo a.pd b.ad b.oo b.pd of.ad of.oo of.pd
_205_raytrace a.ad a.oo a.pd b.ad b.oo b.pd of.ad of.oo of.pd
_209_db a.ad a.oo a.pd b.ad b.oo b.pd of.ad of.oo of.pd
_213_javac a.ad a.oo a.pd b.ad b.oo b.pd of.ad of.oo of.pd
_222_mpegaudio a.ad a.oo a.pd b.ad b.oo b.pd of.ad of.oo of.pd
_227_mtrt a.ad a.oo a.pd b.ad b.oo b.pd of.ad of.oo of.pd
_228_jack a.ad a.oo a.pd b.ad b.oo b.pd of.ad of.oo of.pd
health_6_128 a.ad a.oo a.pd b.ad b.oo b.pd of.ad of.oo of.pd
pseudojbb a.ad a.oo a.pd b.ad b.oo b.pd of.ad of.oo of.pd
Geo_Mean a.ad a.oo a.pd b.ad b.oo b.pd of.ad of.oo of.pd
By Metrics:
exectime a.ad a.oo a.pd b.ad b.oo b.pd of.ad of.oo of.pd
gctime a.ad a.oo a.pd b.ad b.oo b.pd of.ad of.oo of.pd
markcons a.ad a.oo a.pd b.ad b.oo b.pd of.ad of.oo of.pd
By Benchmark + Metrics:
_201_compress exectime gctime markcons
_202_jess exectime gctime markcons
_205_raytrace exectime gctime markcons
_209_db exectime gctime markcons
_213_javac exectime gctime markcons
_222_mpegaudio exectime gctime markcons
_227_mtrt exectime gctime markcons
_228_jack exectime gctime markcons
health_6_128 exectime gctime markcons
pseudojbb exectime gctime markcons
Geo_Mean exectime gctime markcons
============ Section 2: immortal & long only ===============
In this section, we demonstrate the results of different level of pretenuring.
IMMORTAL only: only immortal advices are applied; LONG only: immortals are
turned into long, and only long advices are applied; ALL: a comparasion of
immortal only, long only and immortal+long
NOTE: a=>appel, b=>beltway, of=>older first
NOTE: ad=>adaptive, oo=>optopt, pd=>pseudoadaptive
By benchmark:
_201_compress a.ad.immortal a.ad.long a.ad.all a.pd.immortal a.pd.long a.pd.all
_202_jess a.ad.immortal a.ad.long a.ad.all a.pd.immortal a.pd.long a.pd.all
_205_raytrace a.ad.immortal a.ad.long a.ad.all a.pd.immortal a.pd.long a.pd.all
_209_db a.ad.immortal a.ad.long a.ad.all a.pd.immortal a.pd.long a.pd.all
_213_javac a.ad.immortal a.ad.long a.ad.all a.pd.immortal a.pd.long a.pd.all
_222_mpegaudio a.ad.immortal a.ad.long a.ad.all a.pd.immortal a.pd.long a.pd.all
_227_mtrt a.ad.immortal a.ad.long a.ad.all a.pd.immortal a.pd.long a.pd.all
_228_jack a.ad.immortal a.ad.long a.ad.all a.pd.immortal a.pd.long a.pd.all
health_6_128 a.ad.immortal a.ad.long a.ad.all a.pd.immortal a.pd.long a.pd.all
pseudojbb a.ad.immortal a.ad.long a.ad.all a.pd.immortal a.pd.long a.pd.all
Geo_Mean a.ad.immortal a.ad.long a.ad.all a.pd.immortal a.pd.long a.pd.all
By metrics:
exectime a.ad.immortal a.ad.long a.ad.all a.pd.immortal a.pd.long a.pd.all
gctime a.ad.immortal a.ad.long a.ad.all a.pd.immortal a.pd.long a.pd.all
markcons a.ad.immortal a.ad.long a.ad.all a.pd.immortal a.pd.long a.pd.all
============ Section 3: comparing with chl ===============
NOTE: a=>appel, b=>beltway, of=>older first
NOTE: ad=>adaptive, oo=>optopt, pd=>pseudoadaptive
By benchmark:
_201_compress appel.adaptive appel.pseudoadaptive
_202_jess appel.adaptive appel.pseudoadaptive
_205_raytrace appel.adaptive appel.pseudoadaptive
_209_db appel.adaptive appel.pseudoadaptive
_213_javac appel.adaptive appel.pseudoadaptive
_222_mpegaudio appel.adaptive appel.pseudoadaptive
_227_mtrt appel.adaptive appel.pseudoadaptive
_228_jack appel.adaptive appel.pseudoadaptive
health_6_128 appel.adaptive appel.pseudoadaptive
pseudojbb appel.adaptive appel.pseudoadaptive
Geo_Mean appel.adaptive appel.pseudoadaptive
By Metrics:
exectime appel.adaptive appel.pseudoadaptive
gctime appel.adaptive appel.pseudoadaptive
markcons appel.adaptive appel.pseudoadaptive
============ Section 4: using pseudoadaptive trace ===============
NOTE: a=>appel, b=>beltway, of=>older first
NOTE: ad=>adaptive, oo=>optopt, pd=>pseudoadaptive
By benchmark:
_201_compress appel.adaptive appel.pseudoadaptive
_202_jess appel.adaptive appel.pseudoadaptive
_205_raytrace appel.adaptive appel.pseudoadaptive
_209_db appel.adaptive appel.pseudoadaptive
_213_javac appel.adaptive appel.pseudoadaptive
_222_mpegaudio appel.adaptive appel.pseudoadaptive
_227_mtrt appel.adaptive appel.pseudoadaptive
_228_jack appel.adaptive appel.pseudoadaptive
health_6_128 appel.adaptive appel.pseudoadaptive
pseudojbb appel.adaptive appel.pseudoadaptive
Geo_Mean appel.adaptive appel.pseudoadaptive
By Metrics:
exectime appel.adaptive appel.pseudoadaptive
gctime appel.adaptive appel.pseudoadaptive
markcons appel.adaptive appel.pseudoadaptive
***** Comparing pseudoadaptive traces with optopt traces *****
By benchmark:
_201_compress appel.adaptive appel.pseudoadaptive
_202_jess appel.adaptive appel.pseudoadaptive
_205_raytrace appel.adaptive appel.pseudoadaptive
_209_db appel.adaptive appel.pseudoadaptive
_213_javac appel.adaptive appel.pseudoadaptive
_222_mpegaudio appel.adaptive appel.pseudoadaptive
_227_mtrt appel.adaptive appel.pseudoadaptive
_228_jack appel.adaptive appel.pseudoadaptive
health_6_128 appel.adaptive appel.pseudoadaptive
pseudojbb appel.adaptive appel.pseudoadaptive
Geo_Mean appel.adaptive appel.pseudoadaptive
By metrics:
exectime appel.adaptive appel.pseudoadaptive
gctime appel.adaptive appel.pseudoadaptive
markcons appel.adaptive appel.pseudoadaptive
============ Section 5: heap usage ===============
In this section, we demonstrate the heap usage of benchmarks. Each benchmark
is given two graphs, one is heap usage without pretenure, the other is heap
with pretenure. We can see from these graphs that pretenure can dramatically
increase the utility of heap and reduce the number of GCs. NOTE: ALL GRAPHS
ARE GENERATED AT MINIMAL RUNABLE HEAP SIZE
_201_compress appel.adaptive appel.optopt appel.pseudoadaptive
_202_jess appel.adaptive appel.optopt appel.pseudoadaptive
_205_raytrace appel.adaptive appel.optopt appel.pseudoadaptive
_209_db appel.adaptive appel.optopt appel.pseudoadaptive
_213_javac appel.adaptive appel.optopt appel.pseudoadaptive
_222_mpegaudio appel.adaptive appel.optopt appel.pseudoadaptive
_227_mtrt appel.adaptive appel.optopt appel.pseudoadaptive
_228_jack appel.adaptive appel.optopt appel.pseudoadaptive
health_6_128 appel.adaptive appel.optopt appel.pseudoadaptive
pseudojbb appel.adaptive appel.optopt appel.pseudoadaptive
Geo_Mean appel.adaptive appel.optopt appel.pseudoadaptive