Subsuming Methods Evaluation

This page presents the detailed results from the experiments we have completed to evaluate our Subsuming Methods analysis.

Methodology

In order to evaluate our subsuming methods approach we have captured CCT profiles of the 14 benchmark applications in the DaCapo-9.12-bach suite and applied our subsuming methods analysis to those captured profiles.

All benchmarks were run with their default input size. All experiments were run on a quad-core 2.4 GHz Intel Core i7 with 8 GB 1600 MHz DDR3 memory running Mac OS X 10.9.3. We used Java SE Runtime Environment (build 1.7.0\_40-b43) with the HotSpot 64-Bit Server VM (build 24.0-b56, mixed mode).

To capture the CCT profiles for each benchmark we used the open-source JP2 profiler developed at the University of Lugano (available from https://code.google.com/p/jp2/). Our subsuming methods analysis can be applied to any CCT structured profile data but the JP2 profiler appealed to us for our experiments because it measures execution cost in terms of a platform independent metric, namely the number of bytecode instructions executed, which makes the captured profiles accurate, portable, comparable and largely reproducible. The only reason for variation in the profiles across multiple runs is non-determinism in the application or in the JVM (often related to thread scheduling in multi-threaded applications).

For the majority of the benchmarks we ran JP2 with the DaCapo-9.12-bach suite in the fashion outlined in the most recent JP2 paper (Sarimbekov, A., Sewe, A., Binder, W., Moret, P., & Mezini, M. (2014). JP2: Call-site aware calling context profiling for the Java Virtual Machine. Science of Computer Programming, 79, pages 146-157.). We only added a own custom `dumper' which is used at program exit to serialise the captured JP2 profile to the binary CCT format our tool takes as an input. This standard approach activated the JP2 profiling using a callback mechanism that the DaCapo benchmark harness provides, so that the captured JP2 profiles include only the benchmark application code and not the benchmark harness. However we found that this approach only activated profiling for the thread that actually called the benchmark harness callback and any threads it subsequently created. For the client/server benchmarks (tomcat, tradebeans and tradesoap) and the benchmarks with background worker threads that were initialised before the main benchmark starts (eclipse and xalan) using the benchmark harness callback meant the captured profile included only a small fraction of the actual benchmark activity. Therefore for these 5 benchmarks we used our own wrapper which activated profiling for the entire run of the benchmark.

The results of our experiments on the DaCapo suite are summarised in the following sections. We ran and analysed each benchmark 5 times. We characterised all methods with a height and minimum common parent distance greater than four as subsuming methods. We chose to use four as our threshold as it represents a relatively small distance in the CCT that can be readily visualised but still allows us to subsume a significant proportion of methods. We have also experimented with other small values and they generally return very similar results. The proportion of methods subsumed slowly increases as the threshold increases in an unsurprising manner.

DaCapo-9.12-bach Benchmark Complete Results

Subsuming Methods are those with height > 4 and CPD(min) > 4

CCT Node Count CCT Height Methods
Run Instruction Count All Subsuming Ratio All Subsuming Ratio All Subsuming Ratio Leaf Single Parent Height ≤ 4 CPD(min) ≤ 4 S(e) S(i) S(*) Analysis time (ms)
avrora_test_1 8394436256 176633 7158 4.05% 64 10 15.63% 2189 74 3.38% 26.08% 73.69% 64.09% 84.47% 2 4 16 933
avrora_test_2 8394301688 176649 7158 4.05% 64 10 15.63% 2189 74 3.38% 26.08% 73.69% 64.09% 84.47% 2 4 16 841
avrora_test_3 8393308794 176648 7158 4.05% 64 10 15.63% 2189 74 3.38% 26.08% 73.69% 64.09% 84.47% 2 4 16 761
avrora_test_4 8393241154 176657 7158 4.05% 64 10 15.63% 2189 74 3.38% 26.08% 73.69% 64.09% 84.47% 2 4 16 796
avrora_test_5 8394597550 176646 7158 4.05% 64 10 15.63% 2189 74 3.38% 26.08% 73.69% 64.09% 84.47% 2 4 16 865
batik_test_1 2413763143 572854 48189 8.41% 106 36 33.96% 6616 417 6.30% 33.68% 69.32% 69.30% 77.18% 0 2 18 3624
batik_test_2 2414270668 574070 48259 8.41% 106 36 33.96% 6616 417 6.30% 33.68% 69.32% 69.32% 77.18% 0 2 18 3572
batik_test_3 2414162791 574339 48199 8.39% 106 36 33.96% 6616 416 6.29% 33.68% 69.33% 69.30% 77.19% 0 2 18 4141
batik_test_4 2413685092 574003 48217 8.40% 106 36 33.96% 6616 417 6.30% 33.68% 69.32% 69.30% 77.18% 0 2 18 3791
batik_test_5 2413616665 574169 48228 8.40% 106 36 33.96% 6616 417 6.30% 33.69% 69.33% 69.30% 77.19% 0 2 18 4224
fop_test_1 860790778 628642 71429 11.36% 111 25 22.52% 6709 345 5.14% 35.15% 70.77% 70.53% 78.98% 5 1 14 4497
fop_test_2 862833846 628632 71430 11.36% 111 25 22.52% 6709 345 5.14% 35.15% 70.77% 70.53% 78.98% 5 1 14 4347
fop_test_3 864310283 628916 71430 11.36% 111 25 22.52% 6710 345 5.14% 35.14% 70.77% 70.54% 78.99% 5 1 14 4520
fop_test_4 864434843 628623 71429 11.36% 111 25 22.52% 6709 345 5.14% 35.15% 70.77% 70.53% 78.98% 5 1 14 4604
fop_test_5 864690185 628941 71431 11.36% 111 25 22.52% 6710 345 5.14% 35.16% 70.76% 70.54% 78.99% 5 1 14 4594
luindex_test_1 2767647406 207216 7183 3.47% 61 13 21.31% 2667 162 6.07% 29.77% 73.30% 70.30% 79.27% 3 1 16 1002
luindex_test_2 2767661231 207297 7187 3.47% 61 13 21.31% 2667 162 6.07% 29.77% 73.30% 70.30% 79.27% 3 1 16 968
luindex_test_3 2767660364 207309 7187 3.47% 61 13 21.31% 2667 162 6.07% 29.73% 73.34% 70.30% 79.27% 3 1 16 983
luindex_test_4 2767648729 207319 7189 3.47% 61 13 21.31% 2667 162 6.07% 29.77% 73.30% 70.30% 79.27% 3 1 16 957
luindex_test_5 2767655580 207254 7187 3.47% 61 13 21.31% 2667 162 6.07% 29.77% 73.30% 70.30% 79.27% 3 1 16 990
lusearch_test_1 8118119704 60098 3855 6.41% 41 9 21.95% 1726 73 4.23% 29.95% 73.17% 71.67% 80.88% 3 3 15 450
lusearch_test_2 8123228366 60082 3855 6.42% 41 9 21.95% 1726 73 4.23% 29.95% 73.17% 71.67% 80.88% 3 3 15 469
lusearch_test_3 8111398020 60090 3855 6.42% 41 9 21.95% 1726 73 4.23% 29.95% 73.17% 71.67% 80.88% 3 3 15 490
lusearch_test_4 8125216356 59592 3831 6.43% 41 9 21.95% 1726 73 4.23% 29.95% 73.17% 71.67% 80.88% 3 3 15 511
lusearch_test_5 8131605038 60074 3855 6.42% 41 9 21.95% 1726 73 4.23% 29.95% 73.17% 71.67% 80.88% 3 3 15 493
pmd_test_1 2272822737 4847265 1226170 25.30% 476 280 58.82% 4570 266 5.82% 26.37% 73.17% 61.93% 80.79% 7 2 12 39919
pmd_test_2 2274451183 4847858 1226080 25.29% 476 280 58.82% 4570 266 5.82% 26.39% 73.17% 61.93% 80.79% 7 2 12 36440
pmd_test_3 2271332684 4845926 1226187 25.30% 476 280 58.82% 4574 266 5.82% 26.37% 73.15% 61.96% 80.76% 7 2 12 37000
pmd_test_4 2271751769 4843470 1226159 25.32% 476 280 58.82% 4569 266 5.82% 26.40% 73.17% 61.92% 80.78% 7 2 12 44812
pmd_test_5 2272455657 4844370 1226757 25.32% 476 280 58.82% 4583 267 5.83% 26.45% 73.18% 61.97% 80.78% 7 2 12 33951
sunflow_test_1 49626015406 299349 7409 2.48% 57 15 26.32% 2342 103 4.40% 35.18% 70.71% 74.55% 77.20% 0 4 16 1076
sunflow_test_2 49626018671 299555 7838 2.62% 57 15 26.32% 2342 108 4.61% 35.14% 70.67% 74.25% 77.16% 0 4 16 1053
sunflow_test_3 49626017212 299442 7838 2.62% 57 15 26.32% 2342 108 4.61% 35.14% 70.67% 74.25% 77.16% 0 4 16 1107
sunflow_test_4 49626018065 299502 7838 2.62% 57 15 26.32% 2342 108 4.61% 35.14% 70.67% 74.25% 77.16% 0 4 16 1079
sunflow_test_5 49626015745 299343 7409 2.48% 57 15 26.32% 2340 103 4.40% 35.21% 70.68% 74.53% 77.18% 0 4 16 1121
xalan_test_1 8561424092 441426 39058 8.85% 85 32 37.65% 4506 278 6.17% 30.87% 67.89% 68.49% 75.77% 1 5 15 2707
xalan_test_2 8556863721 438718 38978 8.88% 85 32 37.65% 4506 278 6.17% 30.87% 67.89% 68.51% 75.77% 1 5 15 2651
xalan_test_3 8557371896 439458 38979 8.87% 85 32 37.65% 4506 278 6.17% 30.87% 67.89% 68.51% 75.77% 1 5 15 2744
xalan_test_4 8552916091 439094 38995 8.88% 85 32 37.65% 4508 278 6.17% 30.86% 67.90% 68.52% 75.78% 1 5 15 2666
xalan_test_5 8555149950 438952 38934 8.87% 85 32 37.65% 4506 278 6.17% 30.87% 67.89% 68.51% 75.77% 1 5 15 2945
tradebeans_test_1 22786891137 7972164 1107631 13.89% 163 58 35.58% 29121 2468 8.47% 29.14% 70.15% 59.65% 76.49% 6 4 10 48155
tradebeans_test_2 22812940846 8037429 1119257 13.93% 163 58 35.58% 29109 2469 8.48% 29.14% 70.15% 59.62% 76.51% 6 4 10 60158
tradebeans_test_3 22807018388 7986432 1108547 13.88% 152 52 34.21% 29126 2465 8.46% 29.14% 70.16% 59.66% 76.50% 6 4 10 45903
tradebeans_test_4 22782411157 8064235 1125569 13.96% 163 58 35.58% 29096 2459 8.45% 29.16% 70.25% 59.67% 76.59% 6 4 10 53567
tradebeans_test_5 22806955165 8062304 1127375 13.98% 163 58 35.58% 29106 2465 8.47% 29.15% 70.21% 59.62% 76.54% 6 4 10 56224
tradesoap_test_1 24856318857 8763448 1247744 14.24% 163 58 35.58% 29877 2550 8.53% 29.07% 69.88% 59.80% 76.25% 4 1 15 60172
tradesoap_test_2 24767596539 8680606 1225316 14.12% 163 58 35.58% 29976 2560 8.54% 29.07% 69.88% 59.85% 76.21% 4 1 15 63783
tradesoap_test_3 24696580318 8633686 1216731 14.09% 167 62 37.13% 29922 2557 8.55% 29.04% 69.87% 59.80% 76.23% 4 1 15 64058
tradesoap_test_4 24768906749 8686479 1228417 14.14% 163 58 35.58% 29874 2546 8.52% 29.06% 69.93% 59.83% 76.28% 4 1 15 58188
tradesoap_test_5 24753124262 8701171 1231420 14.15% 163 58 35.58% 29920 2553 8.53% 29.05% 69.93% 59.83% 76.28% 4 1 15 64106
h2_test_1 12688570554 139719 17231 12.33% 47 14 29.79% 1969 102 5.18% 37.18% 65.72% 76.33% 75.11% 4 3 13 801
h2_test_2 12782982519 139362 17119 12.28% 47 14 29.79% 1969 102 5.18% 37.18% 65.72% 76.38% 75.11% 4 3 13 1495
h2_test_3 12744381513 139236 17116 12.29% 47 14 29.79% 1969 102 5.18% 37.18% 65.72% 76.38% 75.11% 4 3 13 1883
h2_test_4 12753823244 134415 16360 12.17% 47 14 29.79% 1971 103 5.23% 37.14% 65.75% 76.31% 75.14% 4 3 13 912
h2_test_5 12757885987 139869 17227 12.32% 47 14 29.79% 1971 102 5.18% 37.14% 65.75% 76.41% 75.14% 4 3 13 766
jython_test_1 12284808999 18982742 2667037 14.05% 194 92 47.42% 5794 441 7.61% 22.49% 71.02% 55.40% 78.18% 7 1 12 222338
jython_test_2 12280495251 18982769 2667036 14.05% 194 92 47.42% 5795 441 7.61% 22.50% 71.03% 55.41% 78.19% 7 1 12 207617
jython_test_3 12298856918 18982661 2667037 14.05% 194 92 47.42% 5794 441 7.61% 22.51% 71.02% 55.40% 78.18% 7 1 12 202213
jython_test_4 12287196015 18982557 2667039 14.05% 194 92 47.42% 5794 441 7.61% 22.49% 71.02% 55.40% 78.18% 7 1 12 214761
jython_test_5 12295345710 18982510 2667034 14.05% 194 92 47.42% 5795 441 7.61% 22.50% 71.03% 55.41% 78.19% 7 1 12 231984
eclipse_test_1 67456586657 20666904 2941424 14.23% 154 105 68.18% 16790 1841 10.96% 29.33% 63.98% 59.27% 70.95% 2 2 16 186658
eclipse_test_2 67411795475 20666562 2941442 14.23% 154 105 68.18% 16790 1841 10.96% 29.32% 63.97% 59.28% 70.95% 2 2 16 200533
eclipse_test_3 67553669556 20674114 2942899 14.23% 154 105 68.18% 16794 1841 10.96% 29.32% 63.99% 59.28% 70.96% 2 2 16 194714
eclipse_test_4 67472217147 20670416 2941833 14.23% 154 105 68.18% 16796 1841 10.96% 29.33% 64.00% 59.26% 70.97% 2 2 16 200476
eclipse_test_5 67448917152 20674424 2942747 14.23% 154 105 68.18% 16796 1841 10.96% 29.33% 64.00% 59.27% 70.96% 2 2 16 193222
tomcat_test_1 4061997255 2626127 356974 13.59% 1002 200 19.96% 13492 1025 7.60% 30.00% 67.97% 63.20% 75.30% 2 3 15 15155
tomcat_test_2 4071364545 2622632 357109 13.62% 1002 200 19.96% 13487 1025 7.60% 30.01% 67.96% 63.19% 75.29% 2 3 15 13147
tomcat_test_3 4070931299 2622988 357283 13.62% 1002 200 19.96% 13514 1026 7.59% 29.95% 68.02% 63.22% 75.34% 2 3 15 13212
tomcat_test_4 4068862476 2626002 357435 13.61% 1002 200 19.96% 13498 1025 7.59% 29.98% 67.99% 63.19% 75.31% 2 3 15 14184
tomcat_test_5 4066572166 2618504 356817 13.63% 1002 200 19.96% 13483 1025 7.60% 30.02% 67.94% 63.18% 75.28% 2 3 15 13418
Summary
CCT Node Count CCT Height Methods
Run Instruction Count All Subsuming Ratio All Subsuming Ratio All Subsuming Ratio Leaf Single Parent Height ≤ 4 CPD(min) ≤ 4 S(e) S(i) S(*) Analysis time (ms)
avrora 8393977088 176646.6 7158 4.05% 64 10 15.63% 2189 74 3.38% 26.08% 73.69% 64.09% 84.47% 2 4 16 839.2
batik 2413899672 573887 48218.4 8.40% 106 36 33.96% 6616 416.8 6.30% 33.68% 69.32% 69.30% 77.18% 0 2 18 3870.4
fop 863411987 628750.8 71429.8 11.36% 111 25 22.52% 6709.4 345 5.14% 35.15% 70.77% 70.53% 78.98% 5 1 14 4512.4
luindex 2767654662 207279 7186.6 3.47% 61 13 21.31% 2667 162 6.07% 29.76% 73.31% 70.30% 79.27% 3 1 16 980
lusearch 8121913497 59987.2 3850.2 6.42% 41 9 21.95% 1726 73 4.23% 29.95% 73.17% 71.67% 80.88% 3 3 15 482.6
pmd 2272562806 4845777.8 1226270.6 25.31% 476 280 58.82% 4573.2 266.2 5.82% 26.39% 73.17% 61.94% 80.78% 7 2 12 38424.4
sunflow 49626017020 299438.2 7666.4 2.56% 57 15 26.32% 2341.6 106 4.53% 35.16% 70.68% 74.37% 77.17% 0 4 16 1087.2
xalan 8556745150 439529.6 38988.8 8.87% 85 32 37.65% 4506.4 278 6.17% 30.87% 67.89% 68.51% 75.77% 1 5 15 2742.6
tradebeans 22799243339 8024512.8 1117675.8 13.93% 160.8 56.8 35.31% 29111.6 2465.2 8.47% 29.15% 70.18% 59.65% 76.52% 6 4 10 52801.4
tradesoap 24768505345 8693078 1229925.6 14.15% 163.8 58.8 35.89% 29913.8 2553.2 8.54% 29.06% 69.90% 59.82% 76.25% 4 1 15 62061.4
h2 12745528763 138520.2 17010.6 12.28% 47 14 29.79% 1969.8 102.2 5.19% 37.16% 65.73% 76.36% 75.12% 4 3 13 1171.4
jython 12289340579 18982647.8 2667036.6 14.05% 194 92 47.42% 5794.4 441 7.61% 22.50% 71.02% 55.41% 78.19% 7 1 12 215782.6
eclipse 67468637197 20670484 2942069 14.23% 154 105 68.18% 16793.2 1841 10.96% 29.32% 63.99% 59.27% 70.96% 2 2 16 195120.6
tomcat 4067945548 2623250.6 357123.6 13.61% 1002 200 19.96% 13494.8 1025.2 7.60% 29.99% 67.98% 63.20% 75.31% 2 3 15 13823.2
Min 2.56% 15.63% 3.38% 22.50% 63.99% 55.41% 70.96% 10
Lower quartile 6.91% 22.09% 5.15% 29.08% 68.31% 60.35% 75.89% 13.25
Median 11.82% 31.87% 6.12% 29.86% 70.43% 66.30% 77.18% 15
Upper quartile 14.02% 37.21% 7.61% 32.98% 72.63% 70.48% 79.19% 16
Max 25.31% 68.18% 10.96% 37.16% 73.69% 76.36% 84.47% 18
Average 10.91% 33.91% 6.43% 30.30% 70.06% 66.03% 77.63% 14.5

The results show that:

S(*) measured the number of the top 20 subsuming methods (by induced cost) that did not appear in either the top 20 inclusive cost or the top 20 exclusive cost methods i.e. they represent code locations not directly highlighted by traditional measures. A median value of 15 implies 75% of the top 20 subsuming methods represented new potential optimisation opportunities. The compression results (only 6.12% of all methods and 11.82% of all CCT nodes were subsuming) demonstrate that subsuming methods analysis produces a CCT that is greatly reduced in size and has far fewer unique methods to inspect. We feel this substantially eases the task of interpreting the performance data.

Plot of Average Analysis Time verses CCT Size

The graph below show a plot of Analysis Time (in milliseconds) against CCT Size (number of nodes). The fit line is based on a n log^2(n) curve, showing the fit of the actual measured analysis time against our theoretical performance.

Analysis Time vs CCT Size

Individual benchmark Results

The following sections contain the lists of the top 20 methods by exclusive cost and inclusive cost and the top 20 subsuming methods by induced cost. The cost measures in the tables are as a percentage of the total cost of the benchmark run. For the subsuming methods S(e) is whether the method was also one of the top 20 exclusive cost methods, S(i) is whether the method was also one of the top 20 inclusive cost methods and S(*) is true if and only if both S(i) and S(e) are false i.e. the method is not in either the top 20 exclusive or inclusive cost methods. These measures give us some indication as to the uniqueness of the identified subsuming methods.

The Calling Context Ring Charts shown for each benchmark depict the full CCT for a single run of the benchmark, the first coloured by method name and the second coloured by subsuming method name. The subsuming method coloured images allow us to see how the subsumed sub-trees manifest within the original CCT. The images have been created using the TreVis library from the Sape Research Group at the University of Lugano.

avrora

Exclusive Methods

MethodNode CountHeightCPD minExclusiveInclusiveIs Subsuming
avrora.sim.clock.DeltaQueue.advance(J)421112.38212.698false
avrora.arch.legacy.LegacyInterpreter.fastLoop()135107.99985.954false
avrora.sim.AtmelInterpreter.commit()123107.39422.497false
avrora.sim.AtmelInterpreter.readSRAM(ZI)1412504.62007.265true
avrora.sim.AtmelInterpreter.writeSRAM(ZIB)1431603.86707.720true
avrora.sim.clock.MainClock.advance(J)422402.69215.390false
avrora.sim.AtmelInterpreter.getSP()121502.61605.015false
cck.util.Arithmetic.uword(BB)270602.59902.599false
avrora.sim.AtmelInterpreter.setSP(I)121502.39804.579false
avrora.arch.legacy.LegacyInterpreter.visit(Lavrora/arch/legacy/LegacyInstr$CPI;)12102.18802.413false
avrora.arch.legacy.LegacyInterpreter.visit(Lavrora/arch/legacy/LegacyInstr$CPC;)12101.80602.175false
avrora.sim.AtmelInterpreter.getRegisterByte(Lavrora/arch/legacy/LegacyRegister;)591401.73102.596false
avrora.sim.AtmelInterpreter.writeRegisterByte(Lavrora/arch/legacy/LegacyRegister;B)411401.69102.416false
avrora.arch.legacy.LegacyInterpreter.visit(Lavrora/arch/legacy/LegacyInstr$PUSH;)14101.66811.503false
avrora.arch.legacy.LegacyInterpreter.visit(Lavrora/arch/legacy/LegacyInstr$POP;)14101.66811.327false
avrora.arch.legacy.LegacyRegister.getNumber()1080501.62101.621false
cck.util.Arithmetic.high(I)2101701.59701.597false
avrora.sim.AtmelInterpreter.pushByte(B)73401.41711.229false
avrora.sim.AtmelInterpreter.popByte()53301.30810.902false
avrora.arch.legacy.LegacyInterpreter.visit(Lavrora/arch/legacy/LegacyInstr$CP;)12101.22901.449false

Inclusive Methods

MethodNode CountHeightCPD minExclusiveInclusiveIs Subsuming
avrora.sim.SimulatorThread.run()139100.00099.778true
avrora.sim.Simulator.start()138100.00099.778false
avrora.sim.AtmelInterpreter.start()137100.00099.778false
avrora.arch.legacy.LegacyInterpreter.runLoop()136100.46999.778false
avrora.arch.legacy.LegacyInterpreter.fastLoop()135107.99985.954false
avrora.sim.AtmelInterpreter.commit()123107.39422.497false
avrora.sim.clock.MainClock.advance(J)422402.69215.390false
avrora.sim.clock.DeltaQueue.advance(J)421112.38212.698false
avrora.arch.legacy.LegacyInstr$PUSH.accept(Lavrora/arch/legacy/LegacyInstrVisitor;)15100.35111.854false
avrora.arch.legacy.LegacyInstr$POP.accept(Lavrora/arch/legacy/LegacyInstrVisitor;)15100.35111.678false
avrora.arch.legacy.LegacyInterpreter.visit(Lavrora/arch/legacy/LegacyInstr$PUSH;)14101.66811.503false
avrora.arch.legacy.LegacyInterpreter.visit(Lavrora/arch/legacy/LegacyInstr$POP;)14101.66811.327false
avrora.sim.AtmelInterpreter.pushByte(B)73401.41711.229false
avrora.sim.AtmelInterpreter.popByte()53301.30810.902false
avrora.arch.legacy.LegacyInterpreter.sleepLoop()122100.14809.715false
avrora.sim.clock.MainClock.skipAhead()121100.06409.566false
avrora.sim.clock.DeltaQueue.skipAhead()120100.36809.502false
avrora.sim.clock.DeltaQueue$Link.fire()419600.24509.194true
avrora.sim.AtmelInterpreter.writeSRAM(ZIB)1431603.86707.720true
avrora.sim.AtmelInterpreter.readSRAM(ZI)1412504.62007.265true

Subsuming Methods

MethodNode CountHeightCPD minExclusiveInclusiveInducedS(e)S(i)S(*)
avrora.sim.SimulatorThread.run()139100.00099.77873.554falsetruefalse
avrora.sim.AtmelInterpreter.writeSRAM(ZIB)1431603.86707.72007.564truetruefalse
avrora.sim.AtmelInterpreter.readSRAM(ZI)1412504.62007.26507.264truetruefalse
avrora.sim.clock.DeltaQueue$Link.fire()419600.24509.19405.323falsetruefalse
avrora.sim.clock.MainClock.insertEvent(Lavrora/sim/Simulator$Event;J)31252000.09802.14502.145falsefalsetrue
avrora.sim.FiniteStateMachine.transition(I)10171500.73601.48401.366falsefalsetrue
avrora.sim.AtmelInterpreter.writeDataByte(IB)115500.70105.37600.701falsefalsetrue
java.util.HashMap.getEntry(Ljava/lang/Object;)189785200.27200.59600.595falsefalsetrue
java.io.OutputStreamWriter.flushBuffer()7882700.00000.36700.367falsefalsetrue
avrora.monitors.PacketMonitor$Mon.renderPacket(Ljava/lang/String;)4151800.04200.48700.331falsefalsetrue
java.io.BufferedWriter.flushBuffer()7882700.00200.17700.177falsefalsetrue
java.util.HashMap.get(Ljava/lang/Object;)172295100.10000.71100.125falsefalsetrue
cck.text.Terminal.append(ILjava/lang/StringBuffer;Ljava/lang/String;)1152100.01600.12300.123falsefalsetrue
Harness.main([Ljava/lang/String;)163100.00000.22000.104falsefalsetrue
java.lang.ClassLoader.loadClass(Ljava/lang/String;)318464000.00000.09000.082falsefalsetrue
avrora.sim.clock.DerivedClock.insertEvent(Lavrora/sim/Simulator$Event;J)481000.05600.39000.071falsefalsetrue
avrora.sim.output.SimPrinter.getBuffer(I)781900.00000.05800.058falsefalsetrue
avrora.sim.radio.CC1000Radio$RadioRegister.write(B)10232300.00000.01200.007falsefalsetrue
java.io.PrintStream.println(Ljava/lang/String;)12112400.00000.55800.007falsefalsetrue
java.io.PrintStream.print(Ljava/lang/String;)66102500.00000.51600.007falsefalsetrue

Calling Context Ring Charts

avrora benchmark avrora benchmark

batik

Exclusive Methods

MethodNode CountHeightCPD minExclusiveInclusiveIs Subsuming
org.apache.batik.ext.awt.image.codec.png.PNGEncodeParam.filterRow([B[B[[BII)10121.23721.237false
java.awt.image.SinglePixelPackedSampleModel.getPixels(IIII[ILjava/awt/image/DataBuffer;)41107.82408.495false
java.awt.image.SinglePixelPackedSampleModel.setPixels(IIII[ILjava/awt/image/DataBuffer;)32107.62008.769false
org.apache.batik.ext.awt.image.rendered.MorphologyOp.filter(Ljava/awt/image/Raster;Ljava/awt/image/WritableRaster;)12105.09806.287false
java.awt.image.SinglePixelPackedSampleModel.setSamples(IIIII[ILjava/awt/image/DataBuffer;)22103.74005.731false
org.apache.batik.ext.awt.image.codec.png.PNGImageEncoder.encodePass(Ljava/io/OutputStream;Ljava/awt/image/Raster;IIII)19103.68030.106false
java.awt.image.DataBufferInt.getElem(I)4106502.48202.482false
org.apache.batik.ext.awt.image.GraphicsUtil.mult_INT_PACK_Data(Ljava/awt/image/WritableRaster;)52102.38002.381false
java.awt.image.SinglePixelPackedSampleModel.getSamples(IIIII[ILjava/awt/image/DataBuffer;)21102.16402.828false
org.apache.batik.ext.awt.image.rendered.Any2sRGBRed.applyLut_INT(Ljava/awt/image/WritableRaster;[I)321002.04702.047false
org.apache.batik.ext.awt.image.GraphicsUtil.copyData(Ljava/awt/image/BufferedImage;Ljava/awt/Rectangle;Ljava/awt/image/BufferedImage;Ljava/awt/Point;)34101.95715.292false
org.apache.batik.ext.awt.image.rendered.GaussianBlurRed8Bit.boxFilterV(Ljava/awt/image/Raster;Ljava/awt/image/WritableRaster;IIII)32101.85501.855false
org.apache.batik.ext.awt.image.GraphicsUtil.divide_INT_PACK_Data(Ljava/awt/image/WritableRaster;)42101.78101.781false
java.awt.image.BandCombineOp.filter(Ljava/awt/image/Raster;Ljava/awt/image/WritableRaster;)118101.77704.958false
java.awt.image.DataBufferInt.setElem(II)1816501.72002.294false
org.apache.batik.ext.awt.image.SVGComposite$OverCompositeContext_INT_PACK_UNPRE.precompose_INT_PACK(II[III[III[III)10101.70901.709false
java.awt.image.SinglePixelPackedSampleModel.setPixel(II[ILjava/awt/image/DataBuffer;)132101.58901.890false
java.awt.image.LookupOp.byteFilter(Ljava/awt/image/ByteLookupTable;Ljava/awt/image/Raster;Ljava/awt/image/WritableRaster;III)14101.56608.286false
org.apache.batik.ext.awt.image.rendered.GaussianBlurRed8Bit.boxFilterH(Ljava/awt/image/Raster;Ljava/awt/image/WritableRaster;IIII)32101.55201.552false
java.awt.image.ComponentSampleModel.getPixel(II[ILjava/awt/image/DataBuffer;)251101.40501.756false

Inclusive Methods

MethodNode CountHeightCPD minExclusiveInclusiveIs Subsuming
org.dacapo.harness.Benchmark.run(Lorg/dacapo/harness/Callback;Ljava/lang/String;)1102100.00080.521false
org.dacapo.harness.TestHarness.runBenchmark(Ljava/io/File;Ljava/lang/String;Lorg/dacapo/harness/TestHarness;)1103100.00080.521false
Harness.main([Ljava/lang/String;)1105100.00080.521true
org.dacapo.harness.TestHarness.main([Ljava/lang/String;)1104100.00080.521false
org.dacapo.harness.Batik.iterate(Ljava/lang/String;)1101100.00080.521false
java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)31004200.00080.520false
sun.reflect.DelegatingMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)399100.00080.520false
sun.reflect.NativeMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)398100.00080.520false
org.apache.batik.apps.rasterizer.Main.execute()197100.00080.520false
org.apache.batik.apps.rasterizer.SVGConverter.execute()196100.00080.515false
org.apache.batik.apps.rasterizer.SVGConverter.transcode(Lorg/apache/batik/apps/rasterizer/SVGConverterSource;Ljava/io/File;Lorg/apache/batik/transcoder/Transcoder;)195100.00080.354false
org.apache.batik.transcoder.SVGAbstractTranscoder.transcode(Lorg/apache/batik/transcoder/TranscoderInput;Lorg/apache/batik/transcoder/TranscoderOutput;)194100.00080.348false
org.apache.batik.transcoder.XMLAbstractTranscoder.transcode(Lorg/apache/batik/transcoder/TranscoderInput;Lorg/apache/batik/transcoder/TranscoderOutput;)193100.00080.335false
org.apache.batik.transcoder.image.ImageTranscoder.transcode(Lorg/w3c/dom/Document;Ljava/lang/String;Lorg/apache/batik/transcoder/TranscoderOutput;)165100.00076.336false
org.apache.batik.ext.awt.image.rendered.AbstractRed.getData(Ljava/awt/Rectangle;)10325700.00042.269true
org.apache.batik.gvt.renderer.MacRenderer.repaint(Ljava/awt/Shape;)158100.00040.432false
org.apache.batik.gvt.renderer.MacRenderer.repaint(Lorg/apache/batik/ext/awt/geom/RectListManager;)157100.00040.430false
org.apache.batik.gvt.AbstractGraphicsNode.paint(Ljava/awt/Graphics2D;)17563700.01240.390true
org.apache.batik.ext.awt.image.rendered.FormatRed.copyData(Ljava/awt/image/WritableRaster;)331100.00039.821false
org.apache.batik.gvt.CompositeGraphicsNode.primitivePaint(Ljava/awt/Graphics2D;)11552700.00135.613true

Subsuming Methods

MethodNode CountHeightCPD minExclusiveInclusiveInducedS(e)S(i)S(*)
Harness.main([Ljava/lang/String;)1105100.00080.52130.713falsetruefalse
org.apache.batik.ext.awt.image.rendered.AbstractRed.getData(Ljava/awt/Rectangle;)10325700.00042.26923.122falsetruefalse
org.apache.batik.ext.awt.image.rendered.PadRed.copyData(Ljava/awt/image/WritableRaster;)11301300.00016.66713.543falsefalsetrue
org.apache.batik.ext.awt.image.renderable.PadRable8Bit.createRendering(Ljava/awt/image/renderable/RenderContext;)8421300.00008.51506.289falsefalsetrue
org.apache.batik.ext.awt.image.GraphicsUtil.coerceData(Ljava/awt/image/WritableRaster;Ljava/awt/image/ColorModel;Z)10151600.00004.16604.163falsefalsetrue
org.apache.batik.ext.awt.image.codec.png.PNGRegistryEntry$1.run()129100.00013.41003.769falsefalsetrue
org.apache.batik.bridge.CSSUtilities.getComputedStyle(Lorg/w3c/dom/Element;I)524601600.02602.34502.235falsefalsetrue
org.apache.batik.ext.awt.image.rendered.Any2LsRGBRed.copyData(Ljava/awt/image/WritableRaster;)226700.00002.38901.380falsefalsetrue
org.apache.crimson.parser.Parser2.parseLiteral(Z)712500.57202.28201.088falsefalsetrue
org.apache.batik.parser.AbstractParser.parse(Ljava/lang/String;)95331700.00101.20001.074falsefalsetrue
sun.java2d.SunGraphics2D.validateCompClip()2254200.00000.89500.895falsefalsetrue
org.apache.batik.bridge.GVTBuilder.buildComposite(Lorg/apache/batik/bridge/BridgeContext;Lorg/w3c/dom/Element;Lorg/apache/batik/gvt/CompositeGraphicsNode;)656700.00205.28000.867falsefalsetrue
org.apache.crimson.parser.InputEntity.fillbuf()2791000.00000.60700.607falsefalsetrue
org.apache.crimson.parser.InputEntity.getc()83101100.54301.02500.543falsefalsetrue
java.awt.BasicStroke.createStrokedShape(Ljava/awt/Shape;)61191500.00200.54200.541falsefalsetrue
java.util.HashMap.put(Ljava/lang/Object;Ljava/lang/Object;)126375900.18600.71200.497falsefalsetrue
sun.java2d.pipe.AAShapePipe.renderPath(Lsun/java2d/SunGraphics2D;Ljava/awt/Shape;Ljava/awt/BasicStroke;)12211000.00400.49000.489falsefalsetrue
org.apache.batik.gvt.font.AWTGVTGlyphVector.getLogicalBounds()57101600.00000.61700.486falsefalsetrue
org.apache.batik.gvt.renderer.StrokingTextPainter.getTextRuns(Lorg/apache/batik/gvt/TextNode;Ljava/text/AttributedCharacterIterator;)18371200.00002.57500.379falsefalsetrue
java.util.HashMap.hash(Ljava/lang/Object;)494256400.23200.35400.354falsefalsetrue

Calling Context Ring Charts

batik benchmark batik benchmark

fop

Exclusive Methods

MethodNode CountHeightCPD minExclusiveInclusiveIs Subsuming
sun.misc.FloatingDecimal.dtoa(IJI)34855906.87609.390true
java.text.DigitList.set(ZLjava/lang/String;IZ)3744105.24506.140false
java.text.DecimalFormat.subformat(Ljava/lang/StringBuffer;Ljava/text/Format$FieldDelegate;ZZIIII)3746103.11005.591false
org.apache.fop.fo.properties.PropertyMaker.findProperty(Lorg/apache/fop/fo/PropertyList;Z)150143102.46111.626false
java.lang.String.equals(Ljava/lang/Object;)466609601.85301.853false
sun.nio.cs.US_ASCII$Encoder.encode([CII[B)5681101.78801.789false
sun.misc.FloatingDecimal.countBits(J)3480101.55601.556false
java.util.HashMap.hash(Ljava/lang/Object;)10663129101.50603.520true
java.util.HashMap.getEntry(Ljava/lang/Object;)6081138601.34204.929true
java.lang.String.indexOf(II)334309001.29501.295false
org.apache.fop.fo.properties.PropertyMaker.getShorthand(Lorg/apache/fop/fo/PropertyList;)17779601.28101.488true
java.lang.String.hashCode()755009701.25001.250false
org.apache.fop.fo.StaticPropertyList.get(IZZ)169147601.22815.308true
org.apache.fop.layoutmgr.inline.TextLayoutManager.getNextKnuthElements(Lorg/apache/fop/layoutmgr/LayoutContext;I)1830301.15305.577false
java.lang.AbstractStringBuilder.append(Ljava/lang/String;)747238901.13902.786false
java.lang.String.getChars(II[CI)785209001.10401.104false
java.lang.AbstractStringBuilder.append(C)115138401.06001.456false
java.lang.String.([CII)789319101.05102.016false
java.text.DecimalFormat.format(DLjava/lang/StringBuffer;Ljava/text/Format$FieldDelegate;)3749101.00025.465false
java.util.Arrays.copyOfRange([CII)78930100.96400.964false

Inclusive Methods

MethodNode CountHeightCPD minExclusiveInclusiveIs Subsuming
org.dacapo.harness.Benchmark.run(Lorg/dacapo/harness/Callback;Ljava/lang/String;)1107100.00099.997false
org.dacapo.harness.TestHarness.runBenchmark(Ljava/io/File;Ljava/lang/String;Lorg/dacapo/harness/TestHarness;)1108100.00099.997false
Harness.main([Ljava/lang/String;)1110100.00099.997true
org.dacapo.harness.TestHarness.main([Ljava/lang/String;)1109100.00099.997false
org.dacapo.harness.Fop.iterate(Ljava/lang/String;)1106100.00099.996false
java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)1181055900.00699.996false
sun.reflect.DelegatingMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)118104100.00299.996false
sun.reflect.NativeMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)17103100.00099.996false
org.apache.fop.cli.Main.startFOP([Ljava/lang/String;)1102100.00099.994false
org.apache.fop.cli.InputHandler.renderTo(Lorg/apache/fop/apps/FOUserAgent;Ljava/lang/String;Ljava/io/OutputStream;)1101100.00098.190false
org.apache.fop.cli.InputHandler.transformTo(Ljavax/xml/transform/Result;)1100100.00097.510false
com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(Ljavax/xml/transform/Source;Ljavax/xml/transform/Result;)199100.00097.394false
com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(Ljavax/xml/transform/Source;Lcom/sun/org/apache/xml/internal/serializer/SerializationHandler;Ljava/lang/String;)198100.00097.393false
com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transformIdentity(Ljavax/xml/transform/Source;Lcom/sun/org/apache/xml/internal/serializer/SerializationHandler;)197100.00097.393false
com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Lorg/xml/sax/InputSource;)196100.00097.393false
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Lorg/xml/sax/InputSource;)195100.00097.393false
com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Lcom/sun/org/apache/xerces/internal/xni/parser/XMLInputSource;)194100.00097.393false
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Lcom/sun/org/apache/xerces/internal/xni/parser/XMLInputSource;)193100.00097.393false
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Z)192100.00097.393false
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Z)191100.02897.303false

Subsuming Methods

MethodNode CountHeightCPD minExclusiveInclusiveInducedS(e)S(i)S(*)
java.text.DecimalFormat.format(DLjava/lang/StringBuffer;Ljava/text/FieldPosition;)374105400.16925.77813.644falsefalsetrue
org.apache.fop.fo.StaticPropertyList.get(IZZ)169147601.22815.30808.884truefalsefalse
sun.misc.FloatingDecimal.dtoa(IJI)34855906.87609.39008.871truefalsefalse
org.apache.fop.layoutmgr.BlockStackingLayoutManager.getNextKnuthElements(Lorg/apache/fop/layoutmgr/LayoutContext;I)12391000.06815.87206.381falsefalsetrue
org.apache.fop.render.AbstractRenderer.renderInlineArea(Lorg/apache/fop/area/inline/InlineArea;)4227700.04136.05704.449falsefalsetrue
org.apache.fop.layoutmgr.BreakingAlgorithm.findBreakingPoints(Lorg/apache/fop/layoutmgr/KnuthSequence;DZI)16231700.00204.68304.340falsefalsetrue
Harness.main([Ljava/lang/String;)1110100.00099.99704.161falsetruefalse
org.apache.fop.layoutmgr.BlockLayoutManager.addAreas(Lorg/apache/fop/layoutmgr/PositionIterator;Lorg/apache/fop/layoutmgr/LayoutContext;)935500.04205.04103.344falsefalsetrue
org.apache.fop.fo.XMLWhiteSpaceHandler.handleWhiteSpace(Lorg/apache/fop/fo/FObjMixed;Lorg/apache/fop/fo/FONode;Lorg/apache/fop/fo/FONode;)7231400.03203.68603.138falsefalsetrue
java.util.HashMap.hash(Ljava/lang/Object;)10663129101.50603.52002.947truefalsefalse
com.sun.org.apache.xml.internal.serializer.ToXMLSAXHandler.closeStartTag()5451000.01820.44502.469falsefalsetrue
java.lang.StringCoding.encode(Ljava/lang/String;[CII)62499000.09002.46402.253falsefalsetrue
java.util.HashMap.getEntry(Ljava/lang/Object;)6081138601.34204.92902.245truefalsefalse
org.apache.fop.fo.properties.PropertyCache.fetch(Ljava/lang/Object;)38994600.06102.10502.105falsefalsetrue
org.apache.xmlgraphics.fonts.Glyphs.charToGlyphName(C)2132100.00001.86101.859falsefalsetrue
sun.misc.FloatingDecimal.toJavaFormatString()40685800.21602.32301.660falsefalsetrue
org.apache.fop.fonts.AbstractCodePointMapping.mapChar(C)390224200.43502.14901.650falsefalsetrue
org.apache.fop.fo.properties.PropertyMaker.getShorthand(Lorg/apache/fop/fo/PropertyList;)17779601.28101.48801.475truefalsefalse
java.lang.ThreadLocal.get()121179200.38701.11801.118falsefalsetrue
org.apache.fop.fo.properties.CompoundPropertyMaker.makeCompound(Lorg/apache/fop/fo/PropertyList;Lorg/apache/fop/fo/FObj;)147162000.66401.33600.982falsefalsetrue

Calling Context Ring Charts

fop benchmark fop benchmark

luindex

Exclusive Methods

MethodNode CountHeightCPD minExclusiveInclusiveIs Subsuming
org.apache.lucene.analysis.standard.StandardTokenizerImpl.getNextToken()410118.75523.514false
org.apache.lucene.index.TermsHashPerField.add(Lorg/apache/lucene/analysis/Token;)423105.71316.553false
sun.nio.cs.UTF_8$Decoder.decodeArrayLoop(Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;)43104.67204.694false
org.apache.lucene.analysis.LowerCaseFilter.next(Lorg/apache/lucene/analysis/Token;)413103.53745.707false
org.apache.lucene.analysis.CharArraySet.getHashCode([CII)30103.44103.441false
org.apache.lucene.index.TermsHashPerField.postingEquals([CI)70103.12003.120false
org.apache.lucene.index.TermsHashPerField.writeByte(IB)305103.09503.369false
org.apache.lucene.analysis.Token.initTermBuffer()380602.91902.919false
java.lang.CharacterDataLatin1.toLowerCase(I)5291102.64604.477false
org.apache.lucene.store.BufferedIndexOutput.writeByte(B)42562602.46902.470true
org.apache.lucene.analysis.standard.StandardTokenizer.next(Lorg/apache/lucene/analysis/Token;)411102.44230.792false
org.apache.lucene.analysis.CharArraySet.getSlot([CII)311202.43207.010false
org.apache.lucene.store.IndexInput.readVInt()2482402.28805.175true
org.apache.lucene.index.TermsHashPerField.comparePostings(Lorg/apache/lucene/index/RawPostingList;Lorg/apache/lucene/index/RawPostingList;)844360102.13502.135false
org.apache.lucene.index.DocInverterPerField.processFields([Lorg/apache/lucene/document/Fieldable;I)224101.87774.436false
java.lang.CharacterDataLatin1.getProperties(I)100404601.83201.832false
org.apache.lucene.store.IndexOutput.writeVInt(I)52102501.66504.120true
org.apache.lucene.index.FreqProxTermsWriter.appendPostings(Lorg/apache/lucene/index/DocumentsWriter$FlushState;[Lorg/apache/lucene/index/FreqProxTermsWriterPerField;Lorg/apache/lucene/index/TermInfosWriter;Lorg/apache/lucene/store/IndexOutput;Lorg/apache/lucene/store/IndexOutput;Lorg/apache/lucene/index/DefaultSkipListWriter;)127101.51211.494false
org.apache.lucene.index.SegmentMerger.appendPostings([Lorg/apache/lucene/index/SegmentMergeInfo;I)131101.47009.403false
org.apache.lucene.index.ByteSliceReader.readByte()121101.45301.685false

Inclusive Methods

MethodNode CountHeightCPD minExclusiveInclusiveIs Subsuming
org.dacapo.harness.Benchmark.run(Lorg/dacapo/harness/Callback;Ljava/lang/String;)157100.00088.138false
org.dacapo.harness.TestHarness.runBenchmark(Ljava/io/File;Ljava/lang/String;Lorg/dacapo/harness/TestHarness;)158100.00088.138false
Harness.main([Ljava/lang/String;)160100.00088.138true
org.dacapo.harness.TestHarness.main([Ljava/lang/String;)159100.00088.138false
org.dacapo.harness.Luindex.iterate(Ljava/lang/String;)156100.00088.137false
java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)155100.00088.136false
sun.reflect.DelegatingMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)154100.00088.136false
sun.reflect.NativeMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)153100.00088.136false
org.dacapo.luindex.Index.main(Ljava/io/File;[Ljava/lang/String;)152100.00088.136false
org.dacapo.luindex.Index.indexDocs(Lorg/apache/lucene/index/IndexWriter;Ljava/io/File;)351200.00275.517false
org.apache.lucene.index.IndexWriter.addDocument(Lorg/apache/lucene/document/Document;)235100.00074.647false
org.apache.lucene.index.IndexWriter.addDocument(Lorg/apache/lucene/document/Document;Lorg/apache/lucene/analysis/Analyzer;)234100.00074.647false
org.apache.lucene.index.DocumentsWriter.addDocument(Lorg/apache/lucene/document/Document;Lorg/apache/lucene/analysis/Analyzer;)233100.00074.645false
org.apache.lucene.index.DocumentsWriter.updateDocument(Lorg/apache/lucene/document/Document;Lorg/apache/lucene/analysis/Analyzer;Lorg/apache/lucene/index/Term;)232100.00174.645false
org.apache.lucene.index.DocFieldProcessorPerThread.processDocument()229100.01774.592false
org.apache.lucene.index.DocFieldConsumersPerField.processFields([Lorg/apache/lucene/document/Fieldable;I)225100.00174.546false
org.apache.lucene.index.DocInverterPerField.processFields([Lorg/apache/lucene/document/Fieldable;I)224101.87774.436false
org.apache.lucene.analysis.StopFilter.next(Lorg/apache/lucene/analysis/Token;)214101.19855.724false
org.apache.lucene.analysis.LowerCaseFilter.next(Lorg/apache/lucene/analysis/Token;)413103.53745.707false
org.apache.lucene.analysis.standard.StandardFilter.next(Lorg/apache/lucene/analysis/Token;)412101.30533.448false

Subsuming Methods

MethodNode CountHeightCPD minExclusiveInclusiveInducedS(e)S(i)S(*)
Harness.main([Ljava/lang/String;)160100.00088.13880.989falsetruefalse
org.apache.lucene.index.ConcurrentMergeScheduler$MergeThread.run()139100.00011.86105.823falsefalsetrue
org.apache.lucene.store.IndexInput.readVInt()2482402.28805.17503.973truefalsefalse
org.apache.lucene.store.BufferedIndexOutput.writeByte(B)42562602.46902.47002.469truefalsefalse
org.apache.lucene.store.IndexOutput.writeVInt(I)52102501.66504.12001.665truefalsefalse
org.apache.lucene.store.BufferedIndexInput.readByte()11571701.24001.24501.240falsefalsetrue
org.apache.lucene.index.DefaultSkipListWriter.resetSkip()2122200.06001.28701.092falsefalsetrue
org.apache.lucene.index.TermInfosWriter.add(I[BILorg/apache/lucene/index/TermInfo;)492300.16200.95800.506falsefalsetrue
java.util.Calendar.setTimeInMillis(J)315800.00500.20100.201falsefalsetrue
org.apache.lucene.store.RAMOutputStream.reset()4102400.03500.19700.197falsefalsetrue
java.util.HashMap.hash(Ljava/lang/Object;)86055700.14100.17900.179falsefalsetrue
java.util.HashMap.getEntry(Ljava/lang/Object;)69285600.14500.35500.178falsefalsetrue
java.lang.StringCoding.encode(Ljava/lang/String;[CII)12055600.00400.17000.155falsefalsetrue
org.apache.lucene.index.MultiLevelSkipListWriter.bufferSkip(I)2122200.06300.24800.136falsefalsetrue
org.apache.lucene.store.RAMOutputStream.writeTo(Lorg/apache/lucene/store/IndexOutput;)682300.04600.12800.117falsefalsetrue
org.apache.lucene.index.MultiLevelSkipListWriter.writeSkip(Lorg/apache/lucene/store/IndexOutput;)292200.08000.23500.112falsefalsetrue
java.io.OutputStreamWriter.flushBuffer()981100.00000.09000.090falsefalsetrue
org.apache.lucene.store.IndexOutput.writeString(Ljava/lang/String;)9202000.00100.09100.088falsefalsetrue
org.apache.lucene.store.BufferedIndexOutput.writeBytes([BII)2362500.07600.07700.076falsefalsetrue
org.apache.lucene.store.RAMOutputStream.writeByte(B)2292500.07400.07400.074falsefalsetrue

Calling Context Ring Charts

luindex benchmark luindex benchmark

lusearch

Exclusive Methods

MethodNode CountHeightCPD minExclusiveInclusiveIs Subsuming
org.apache.lucene.util.UnicodeUtil.UTF8toUTF16([BIILorg/apache/lucene/util/UnicodeUtil$UTF16Result;)40114.45914.459false
org.apache.lucene.store.BufferedIndexInput.readByte()21771610.76511.452true
org.apache.lucene.index.SegmentTermEnum.next()321206.81759.742false
org.apache.lucene.store.IndexInput.readVInt()3481506.70614.450true
org.apache.lucene.index.TermBuffer.compareChars([CI[CI)50106.48206.482false
org.apache.lucene.index.TermBuffer.read(Lorg/apache/lucene/store/IndexInput;Lorg/apache/lucene/index/FieldInfos;)320104.76137.879false
org.apache.lucene.store.IndexInput.readVLong()78103.52307.041false
org.apache.lucene.store.BufferedIndexInput.readBytes([BIIZ)5071902.79803.077true
org.apache.lucene.queryParser.QueryParserTokenManager.jjCheckNAdd(I)80202.71602.716false
org.apache.lucene.queryParser.QueryParserTokenManager.jjMoveNfa_3(II)16102.61206.446false
org.apache.lucene.index.TermBuffer.compareTo(Lorg/apache/lucene/index/TermBuffer;)52102.11408.597false
org.apache.lucene.index.TermBuffer.set(Lorg/apache/lucene/index/TermBuffer;)42101.79004.212false
org.apache.lucene.search.TermScorer.(Lorg/apache/lucene/search/Weight;Lorg/apache/lucene/index/TermDocs;Lorg/apache/lucene/search/Similarity;[B)22101.76403.147false
org.apache.lucene.util.UnicodeUtil$UTF16Result.copyText(Lorg/apache/lucene/util/UnicodeUtil$UTF16Result;)61501.47402.422false
org.apache.lucene.index.SegmentTermEnum.scanTo(Lorg/apache/lucene/index/Term;)511101.24269.862false
org.apache.lucene.analysis.standard.StandardTokenizerImpl.getNextToken()23101.05401.533false
org.apache.lucene.index.FieldInfos.fieldName(I)33101.05303.791false
org.apache.lucene.util.UnicodeUtil$UTF16Result.setLength(I)140601.03201.032false
org.apache.lucene.index.FieldInfos.fieldInfo(I)721600.95902.772false
org.apache.lucene.util.UnicodeUtil$UTF8Result.setLength(I)40100.94700.947false

Inclusive Methods

MethodNode CountHeightCPD minExclusiveInclusiveIs Subsuming
org.dacapo.lusearch.Search$QueryThread.run()140100.00099.998true
org.dacapo.lusearch.Search$QueryProcessor.run()139100.05499.895false
org.apache.lucene.search.Searcher.search(Lorg/apache/lucene/search/Query;Lorg/apache/lucene/search/Filter;I)133100.01275.631false
org.apache.lucene.index.TermInfosReader.get(Lorg/apache/lucene/index/Term;)4251100.03273.914true
org.apache.lucene.index.TermInfosReader.get(Lorg/apache/lucene/index/Term;Z)424100.47273.882false
org.apache.lucene.search.Searcher.createWeight(Lorg/apache/lucene/search/Query;)232400.01272.502false
org.apache.lucene.search.Query.weight(Lorg/apache/lucene/search/Searcher;)231100.07172.489false
org.apache.lucene.search.TermQuery.createWeight(Lorg/apache/lucene/search/Searcher;)230100.01972.220false
org.apache.lucene.search.TermQuery$TermWeight.(Lorg/apache/lucene/search/TermQuery;Lorg/apache/lucene/search/Searcher;)229100.06172.200false
org.apache.lucene.search.Similarity.idf(Lorg/apache/lucene/index/Term;Lorg/apache/lucene/search/Searcher;)228100.02572.109false
org.apache.lucene.search.IndexSearcher.docFreq(Lorg/apache/lucene/index/Term;)227100.01672.019false
org.apache.lucene.index.SegmentReader.docFreq(Lorg/apache/lucene/index/Term;)226100.03572.002false
org.apache.lucene.index.SegmentTermEnum.scanTo(Lorg/apache/lucene/index/Term;)511101.24269.862false
org.apache.lucene.index.SegmentTermEnum.next()321206.81759.742false
org.apache.lucene.index.TermBuffer.read(Lorg/apache/lucene/store/IndexInput;Lorg/apache/lucene/index/FieldInfos;)320104.76137.879false
org.apache.lucene.queryParser.QueryParser.parse(Ljava/lang/String;)130100.03014.489false
org.apache.lucene.util.UnicodeUtil.UTF8toUTF16([BIILorg/apache/lucene/util/UnicodeUtil$UTF16Result;)40114.45914.459false
org.apache.lucene.store.IndexInput.readVInt()3481506.70614.450true
org.apache.lucene.queryParser.QueryParser.TopLevelQuery(Ljava/lang/String;)126100.01613.184false
org.apache.lucene.queryParser.QueryParser.Query(Ljava/lang/String;)125100.07213.106false

Subsuming Methods

MethodNode CountHeightCPD minExclusiveInclusiveInducedS(e)S(i)S(*)
org.apache.lucene.index.TermInfosReader.get(Lorg/apache/lucene/index/Term;)4251100.03273.91451.593falsetruefalse
org.dacapo.lusearch.Search$QueryThread.run()140100.00099.99815.226falsetruefalse
org.apache.lucene.store.BufferedIndexInput.readByte()21771610.76511.45210.765truefalsefalse
org.apache.lucene.queryParser.QueryParserTokenManager.getNextToken()28600.11907.43107.431falsefalsetrue
org.apache.lucene.store.IndexInput.readVInt()3481506.70614.45006.706truetruefalse
org.apache.lucene.store.BufferedIndexInput.readBytes([BIIZ)5071902.79803.07703.072truefalsefalse
java.util.HashMap.hash(Ljava/lang/Object;)58853300.40300.85400.854falsefalsetrue
java.lang.String.([BIILjava/lang/String;)7101400.02500.86700.774falsefalsetrue
org.apache.lucene.store.BufferedIndexInput.readBytes([BII)1181500.74603.42500.746falsefalsetrue
java.lang.ThreadLocal.get()3673000.13200.68100.681falsefalsetrue
java.nio.charset.CharsetEncoder.encode(Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;Z)1151400.00000.62200.622falsefalsetrue
java.util.HashMap.getEntry(Ljava/lang/Object;)45983200.35301.28100.434falsefalsetrue
java.util.ArrayList.add(Ljava/lang/Object;)1261800.08600.34300.343falsefalsetrue
org.apache.lucene.index.CompoundFileReader$CSIndexInput.readInternal([BII)3951800.07200.56400.159falsefalsetrue
java.io.BufferedWriter.write(Ljava/lang/String;II)9101100.09000.70100.134falsefalsetrue
org.apache.lucene.store.BufferedIndexInput.refill()4261700.12400.69800.134falsefalsetrue
java.util.HashMap.get(Ljava/lang/Object;)42193100.07700.59400.097falsefalsetrue
org.apache.lucene.store.IndexInput.readString()6111200.03800.99100.038falsefalsetrue
org.apache.lucene.store.IndexInput.readInt()3781300.03500.20500.035falsefalsetrue
java.lang.StringCoding.deref(Ljava/lang/ThreadLocal;)2982900.01100.09400.028falsefalsetrue

Calling Context Ring Charts

lusearch benchmark lusearch benchmark

pmd

Exclusive Methods

MethodNode CountHeightCPD minExclusiveInclusiveIs Subsuming
sun.nio.cs.UTF_8$Encoder.encode([CII[B)3941021108.42208.422false
java.util.HashMap$HashIterator.nextEntry()11073019906.02506.025false
net.sourceforge.pmd.ast.SimpleJavaNode.childrenAccept(Lnet/sourceforge/pmd/ast/JavaParserVisitor;Ljava/lang/Object;)16592545924303.87645.239true
net.sourceforge.pmd.ast.JavaParser.jj_scan_token(I)2136252115203.65206.412true
java.lang.String.hashCode()50395025602.02302.023false
java.lang.String.replace(CC)4163120501.91301.944false
net.sourceforge.pmd.ast.JavaParserTokenManager.getNextToken()118153014101.87111.102true
java.lang.String.equals(Ljava/lang/Object;)28036025501.78601.786false
java.util.HashMap.hash(Ljava/lang/Object;)48495725501.76404.045true
net.sourceforge.pmd.ast.JavaParserTokenManager.jjMoveNfa_0(II)11621121101.53503.494true
java.lang.String.indexOf(II)9582022301.43801.438false
java.util.HashMap.getEntry(Ljava/lang/Object;)33241825401.32806.080true
java.util.ArrayList.remove(I)61422112301.31301.686false
net.sourceforge.pmd.symboltable.ClassScope.findVariableHere(Lnet/sourceforge/pmd/symboltable/NameOccurrence;)33228201.29411.619false
net.sourceforge.pmd.ast.JavaCharStream.readChar()30946111301.12603.501true
net.sourceforge.pmd.ast.JavaCharStream.UpdateLineColumn(C)310370101.11001.110false
java.util.ArrayList.add(Ljava/lang/Object;)72612625301.01202.319true
java.lang.String.lastIndexOf([CII[CIII)9130101.00801.008false
org.jaxen.expr.DefaultNameStep.matches(Ljava/lang/Object;Lorg/jaxen/ContextSupport;)462100.90201.709false
net.sourceforge.pmd.ast.SimpleNode.jjtGetNumChildren()29708021600.83400.834false

Inclusive Methods

MethodNode CountHeightCPD minExclusiveInclusiveIs Subsuming
java.lang.Thread.run()1475100.00098.328true
java.util.concurrent.ThreadPoolExecutor$Worker.run()1474100.00098.328false
java.util.concurrent.ThreadPoolExecutor.runWorker(Ljava/util/concurrent/ThreadPoolExecutor$Worker;)1473100.00098.328false
java.util.concurrent.FutureTask.run()1472100.00098.324false
net.sourceforge.pmd.PMD$PmdRunnable.call()2471200.00098.323false
net.sourceforge.pmd.PMD.processFile(Ljava/io/InputStream;Ljava/lang/String;Lnet/sourceforge/pmd/RuleSets;Lnet/sourceforge/pmd/RuleContext;)1469100.00096.251false
net.sourceforge.pmd.PMD.processFile(Ljava/io/Reader;Lnet/sourceforge/pmd/RuleSets;Lnet/sourceforge/pmd/RuleContext;)1468100.00096.247false
net.sourceforge.pmd.PMD.processFile(Ljava/io/Reader;Lnet/sourceforge/pmd/RuleSets;Lnet/sourceforge/pmd/RuleContext;Lnet/sourceforge/pmd/SourceType;)1467100.00096.237false
net.sourceforge.pmd.ast.SimpleJavaNode.childrenAccept(Lnet/sourceforge/pmd/ast/JavaParserVisitor;Ljava/lang/Object;)16592545924303.87645.239true
net.sourceforge.pmd.ast.ASTTypeDeclaration.jjtAccept(Lnet/sourceforge/pmd/ast/JavaParserVisitor;Ljava/lang/Object;)6458100.00044.992false
net.sourceforge.pmd.ast.ASTClassOrInterfaceDeclaration.jjtAccept(Lnet/sourceforge/pmd/ast/JavaParserVisitor;Ljava/lang/Object;)15453100.00044.977false
net.sourceforge.pmd.ast.ASTClassOrInterfaceBody.jjtAccept(Lnet/sourceforge/pmd/ast/JavaParserVisitor;Ljava/lang/Object;)127448100.00044.355false
net.sourceforge.pmd.ast.ASTClassOrInterfaceBodyDeclaration.jjtAccept(Lnet/sourceforge/pmd/ast/JavaParserVisitor;Ljava/lang/Object;)127443100.01144.316false
net.sourceforge.pmd.ast.ASTCompilationUnit.jjtAccept(Lnet/sourceforge/pmd/ast/JavaParserVisitor;Ljava/lang/Object;)3403300.00043.566false
net.sourceforge.pmd.ast.ASTMethodDeclaration.jjtAccept(Lnet/sourceforge/pmd/ast/JavaParserVisitor;Ljava/lang/Object;)127438100.00741.207false
net.sourceforge.pmd.ast.JavaParserVisitorAdapter.visit(Lnet/sourceforge/pmd/ast/SimpleJavaNode;Ljava/lang/Object;)5711446024200.28439.654true
net.sourceforge.pmd.ast.JavaParserVisitorAdapter.visit(Lnet/sourceforge/pmd/ast/ASTTypeDeclaration;Ljava/lang/Object;)4457200.00039.436false
net.sourceforge.pmd.ast.JavaParserVisitorAdapter.visit(Lnet/sourceforge/pmd/ast/ASTClassOrInterfaceBody;Ljava/lang/Object;)44447100.00038.820false
net.sourceforge.pmd.ast.JavaParserVisitorAdapter.visit(Lnet/sourceforge/pmd/ast/ASTClassOrInterfaceBodyDeclaration;Ljava/lang/Object;)35442200.00338.801false
net.sourceforge.pmd.ast.JavaParserVisitorAdapter.visit(Lnet/sourceforge/pmd/ast/ASTCompilationUnit;Ljava/lang/Object;)3462500.00038.590true

Subsuming Methods

MethodNode CountHeightCPD minExclusiveInclusiveInducedS(e)S(i)S(*)
net.sourceforge.pmd.ast.SimpleJavaNode.childrenAccept(Lnet/sourceforge/pmd/ast/JavaParserVisitor;Ljava/lang/Object;)16592545924303.87645.23917.209truetruefalse
java.util.zip.ZipCoder.getBytes(Ljava/lang/String;)3901821000.72209.88209.882falsefalsetrue
org.jaxen.expr.DefaultLocationPath.evaluate(Lorg/jaxen/Context;)40391500.50613.45009.495falsefalsetrue
net.sourceforge.pmd.ast.JavaParserTokenManager.getNextToken()118153014101.87111.10205.325truefalsefalse
java.util.HashMap.hash(Ljava/lang/Object;)48495725501.76404.04504.045truefalsefalse
net.sourceforge.pmd.ast.JavaParser.jj_scan_token(I)2136252115203.65206.41203.652truefalsefalse
net.sourceforge.pmd.ast.JavaCharStream.readChar()30946111301.12603.50103.498truefalsefalse
net.sourceforge.pmd.ast.JJTJavaParserState.closeNodeScope(Lnet/sourceforge/pmd/ast/Node;Z)46792810500.78603.79303.382falsefalsetrue
java.util.HashMap.getEntry(Ljava/lang/Object;)33241825401.32806.08002.822truefalsefalse
sun.misc.URLClassPath$JarLoader.getResource(Ljava/lang/String;Z)35532220600.37915.16002.820falsefalsetrue
java.lang.Thread.run()1475100.00098.32802.641falsetruefalse
net.sourceforge.pmd.ast.JavaParserTokenManager.jjMoveNfa_0(II)11621121101.53503.49402.209truefalsefalse
net.sourceforge.pmd.util.Applier.apply(Lnet/sourceforge/pmd/util/UnaryFunction;Ljava/util/Iterator;)148207800.17103.74302.140falsefalsetrue
java.util.HashMap.put(Ljava/lang/Object;Ljava/lang/Object;)15684819900.41702.88202.093falsefalsetrue
net.sourceforge.pmd.ast.SimpleNode.findChildrenOfType(Lnet/sourceforge/pmd/ast/Node;Ljava/lang/Class;Ljava/util/List;Z)18219117100.76701.51601.501falsefalsetrue
java.lang.ClassLoader.loadClass(Ljava/lang/String;Z)405637600.12218.53601.498falsefalsetrue
java.util.ArrayList.ensureCapacityInternal(I)72653525400.47601.47901.479falsefalsetrue
net.sourceforge.pmd.ast.JJTJavaParserState.openNodeScope(Lnet/sourceforge/pmd/ast/Node;)46298710500.35702.40001.378falsefalsetrue
net.sourceforge.pmd.ast.JavaParser.ConditionalExpression()17561418600.03609.25801.354falsefalsetrue
java.net.URLClassLoader.findClass(Ljava/lang/String;)352953500.03317.21301.297falsefalsetrue

Calling Context Ring Charts

pmd benchmark pmd benchmark

sunflow

Exclusive Methods

MethodNode CountHeightCPD minExclusiveInclusiveIs Subsuming
org.sunflow.core.accel.KDTree.intersect(Lorg/sunflow/core/Ray;Lorg/sunflow/core/IntersectionState;)6133129.57057.034false
org.sunflow.core.primitive.TriangleMesh$WaldTriangle.intersect(Lorg/sunflow/core/Ray;ILorg/sunflow/core/IntersectionState;)11351119.88123.536false
org.sunflow.core.accel.BoundingIntervalHierarchy.intersect(Lorg/sunflow/core/Ray;Lorg/sunflow/core/IntersectionState;)61332111.45588.049false
org.sunflow.core.Ray.transform(Lorg/sunflow/math/Matrix4;)64213204.14909.556false
org.sunflow.core.primitive.TriangleMesh.intersectPrimitive(Lorg/sunflow/core/Ray;ILorg/sunflow/core/IntersectionState;)11352204.01427.550false
org.sunflow.core.Ray.isInside(F)23610103.55903.559false
org.sunflow.core.Ray.(Lorg/sunflow/math/Point3;Lorg/sunflow/math/Point3;)1860102.33502.335false
org.sunflow.core.gi.InstantGI.getIrradiance(Lorg/sunflow/core/ShadingState;Lorg/sunflow/image/Color;)18611102.16682.333false
org.sunflow.core.primitive.Sphere.intersectPrimitive(Lorg/sunflow/core/Ray;ILorg/sunflow/core/IntersectionState;)61320102.05102.685false
org.sunflow.core.Instance.intersect(Lorg/sunflow/core/Ray;Lorg/sunflow/core/IntersectionState;)61330101.49275.218false
org.sunflow.core.Ray.getMax()445303501.07001.070false
org.sunflow.core.Geometry.intersect(Lorg/sunflow/core/Ray;Lorg/sunflow/core/IntersectionState;)61329100.99563.622false
org.sunflow.image.Color.blend(Lorg/sunflow/image/Color;Lorg/sunflow/image/Color;Lorg/sunflow/image/Color;Lorg/sunflow/image/Color;)5460600.95600.956false
org.sunflow.math.Matrix4.transformPZ(FFF)64303300.95400.954false
org.sunflow.math.Matrix4.transformPY(FFF)64303300.95400.954false
org.sunflow.math.Matrix4.transformPX(FFF)64303300.95400.954false
org.sunflow.core.accel.NullAccelerator.intersect(Lorg/sunflow/core/Ray;Lorg/sunflow/core/IntersectionState;)61321100.91105.363false
org.sunflow.math.Matrix4.transformVX(FFF)6420100.79500.795false
org.sunflow.math.Matrix4.transformVY(FFF)6420100.79500.795false
org.sunflow.math.Matrix4.transformVZ(FFF)6420100.79500.795false

Inclusive Methods

MethodNode CountHeightCPD minExclusiveInclusiveIs Subsuming
org.sunflow.core.renderer.BucketRenderer$BucketThread.run()140100.00099.667true
org.sunflow.core.renderer.BucketRenderer.access$300(Lorg/sunflow/core/renderer/BucketRenderer;Lorg/sunflow/core/Display;IIILorg/sunflow/core/IntersectionState;)139100.00099.667false
org.sunflow.core.renderer.BucketRenderer.renderBucket(Lorg/sunflow/core/Display;IIILorg/sunflow/core/IntersectionState;)138100.12899.667false
org.sunflow.core.renderer.BucketRenderer.refineSamples([Lorg/sunflow/core/renderer/BucketRenderer$ImageSample;IIIIFLorg/sunflow/core/IntersectionState;)2137200.05799.396false
org.sunflow.core.renderer.BucketRenderer.computeSubPixel(Lorg/sunflow/core/renderer/BucketRenderer$ImageSample;Lorg/sunflow/core/IntersectionState;)2934100.00799.201false
org.sunflow.core.Scene.getRadiance(Lorg/sunflow/core/IntersectionState;FFDDDI)2933100.00599.065false
org.sunflow.core.LightServer.getRadiance(FFILorg/sunflow/core/Ray;Lorg/sunflow/core/IntersectionState;)2932100.00798.991false
org.sunflow.core.shader.DiffuseShader.getRadiance(Lorg/sunflow/core/ShadingState;)186231300.00297.560true
org.sunflow.core.Scene.trace(Lorg/sunflow/core/Ray;Lorg/sunflow/core/IntersectionState;)613332800.39788.518true
org.sunflow.core.accel.BoundingIntervalHierarchy.intersect(Lorg/sunflow/core/Ray;Lorg/sunflow/core/IntersectionState;)61332111.45588.049false
org.sunflow.core.ShadingState.traceShadow(Lorg/sunflow/core/Ray;)36610500.14287.731true
org.sunflow.core.Scene.traceShadow(Lorg/sunflow/core/Ray;Lorg/sunflow/core/IntersectionState;)3669100.16787.536false
org.sunflow.core.ShadingState.diffuse(Lorg/sunflow/image/Color;)18621100.04882.596false
org.sunflow.core.ShadingState.getIrradiance(Lorg/sunflow/image/Color;)18613100.00182.337false
org.sunflow.core.LightServer.getIrradiance(Lorg/sunflow/core/ShadingState;Lorg/sunflow/image/Color;)18612100.00282.336false
org.sunflow.core.gi.InstantGI.getIrradiance(Lorg/sunflow/core/ShadingState;Lorg/sunflow/image/Color;)18611102.16682.333false
org.sunflow.core.InstanceList.intersectPrimitive(Lorg/sunflow/core/Ray;ILorg/sunflow/core/IntersectionState;)61331100.66375.882false
org.sunflow.core.Instance.intersect(Lorg/sunflow/core/Ray;Lorg/sunflow/core/IntersectionState;)61330101.49275.218false
org.sunflow.core.Geometry.intersect(Lorg/sunflow/core/Ray;Lorg/sunflow/core/IntersectionState;)61329100.99563.622false
org.sunflow.core.accel.KDTree.intersect(Lorg/sunflow/core/Ray;Lorg/sunflow/core/IntersectionState;)6133129.57057.034false

Subsuming Methods

MethodNode CountHeightCPD minExclusiveInclusiveInducedS(e)S(i)S(*)
org.sunflow.core.Scene.trace(Lorg/sunflow/core/Ray;Lorg/sunflow/core/IntersectionState;)613332800.39788.51888.514falsetruefalse
org.sunflow.core.shader.DiffuseShader.getRadiance(Lorg/sunflow/core/ShadingState;)186231300.00297.56009.828falsetruefalse
org.sunflow.core.renderer.BucketRenderer$BucketThread.run()140100.00099.66700.754falsetruefalse
org.sunflow.core.ShadingState.traceShadow(Lorg/sunflow/core/Ray;)36610500.14287.73100.459falsetruefalse
org.sunflow.core.Instance.prepareShadingState(Lorg/sunflow/core/ShadingState;)245232100.00400.26600.266falsefalsetrue
java.util.jar.JarVerifier.update(I[BIILsun/security/util/ManifestEntryVerifier;)835600.00000.07900.051falsefalsetrue
org.sunflow.core.shader.GlassShader.getRadiance(Lorg/sunflow/core/ShadingState;)102311300.00914.29300.049falsefalsetrue
java.security.MessageDigest.update([BII)551100.00000.01900.019falsefalsetrue
org.sunflow.core.ShadingState.traceReflection(Lorg/sunflow/core/Ray;I)113301000.00012.58300.011falsefalsetrue
java.lang.Thread.run()135100.00000.24200.011falsefalsetrue
org.sunflow.core.shader.MirrorShader.getRadiance(Lorg/sunflow/core/ShadingState;)6227900.00107.03500.007falsefalsetrue
java.util.jar.Manifest.read(Ljava/io/InputStream;)291000.00000.01000.003falsefalsetrue
java.lang.String.([BIILjava/lang/String;)1362100.00000.00400.003falsefalsetrue
org.sunflow.core.primitive.TriangleMesh.update(Lorg/sunflow/core/ParameterList;Lorg/sunflow/SunflowAPI;)4212100.00000.00300.003falsefalsetrue
java.util.HashMap.hash(Ljava/lang/Object;)80155400.00000.00300.003falsefalsetrue
java.lang.ClassLoader.loadClass(Ljava/lang/String;)89472400.00000.08800.002falsefalsetrue
org.sunflow.core.LightServer.shadeHit(Lorg/sunflow/core/ShadingState;)208281200.00120.80900.001falsefalsetrue
java.util.HashMap.put(Ljava/lang/Object;Ljava/lang/Object;)27253000.00000.00200.000falsefalsetrue
Harness.main([Ljava/lang/String;)156100.00000.09000.000falsefalsetrue
sun.security.util.ObjectIdentifier.newInternal([I)9351600.00000.00000.000falsefalsetrue

Calling Context Ring Charts

sunflow benchmark sunflow benchmark

xalan

Exclusive Methods

MethodNode CountHeightCPD minExclusiveInclusiveIs Subsuming
sun.nio.cs.ISO_8859_1$Encoder.encodeArrayLoop(Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;)12071108.69913.606false
org.apache.xerces.impl.XMLEntityScanner.scanContent(Lorg/apache/xerces/xni/XMLString;)28105.14109.861false
org.apache.xml.serializer.ToStream.characters([CII)16214104.98718.905false
org.apache.xerces.impl.io.UTF8Reader.read([CII)456104.49704.506false
org.apache.xml.dtm.ref.DTMDefaultBase.makeNodeIdentity(I)142202903.28603.286false
org.apache.xerces.util.XMLChar.isContent(I)90702.25602.256false
java.nio.Buffer.position(I)372304502.03502.035false
org.apache.xml.utils.SuballocatedIntVector.elementAt(I)234803101.75201.752false
org.apache.xml.serializer.CharInfo.shouldMapTextChar(I)3051101.67301.674false
org.apache.xml.utils.SuballocatedIntVector.addElement(I)10301301.64801.648false
sun.nio.cs.StreamEncoder.write([CII)121963501.52224.308true
java.nio.charset.CharsetEncoder.encode(Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;Z)12194101.26816.609false
org.apache.xml.dtm.ref.DTMDefaultBase._exptype(I)136313001.24702.393false
org.apache.xerces.impl.XMLEntityScanner.scanData(Ljava/lang/String;Lorg/apache/xerces/util/XMLStringBuffer;)65401.23201.814false
sun.nio.cs.StreamEncoder.implWrite([CII)12195101.22622.616false
java.nio.ByteBuffer.arrayOffset()379004501.18001.180false
java.nio.CharBuffer.arrayOffset()369104501.14401.144false
org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(Lorg/apache/xalan/transformer/TransformerImpl;)6556101.06065.328false
java.nio.Buffer.(IIII)124214301.01702.586false
java.nio.Buffer.limit(I)125304400.89100.891false

Inclusive Methods

MethodNode CountHeightCPD minExclusiveInclusiveIs Subsuming
org.dacapo.xalan.XSLTBench$XalanWorker.run()167100.00099.541true
org.apache.xalan.transformer.TransformerImpl.transform(Ljavax/xml/transform/Source;Ljavax/xml/transform/Result;)163100.00097.731false
org.apache.xalan.transformer.TransformerImpl.transform(Ljavax/xml/transform/Source;Ljavax/xml/transform/Result;Z)162100.00097.731false
org.apache.xalan.transformer.TransformerImpl.transform(Ljavax/xml/transform/Source;Z)161100.00195.589false
org.apache.xalan.transformer.TransformerImpl.transformNode(I)160100.02767.099false
org.apache.xalan.transformer.TransformerImpl.applyTemplateToNode(Lorg/apache/xalan/templates/ElemTemplateElement;Lorg/apache/xalan/templates/ElemTemplate;I)159100.00265.360false
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(Lorg/apache/xalan/templates/ElemTemplateElement;Z)177582200.34765.333true
org.apache.xalan.templates.ElemApplyTemplates.execute(Lorg/apache/xalan/transformer/TransformerImpl;)6557300.12365.330false
org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(Lorg/apache/xalan/transformer/TransformerImpl;)6556101.06065.328false
org.apache.xalan.templates.ElemLiteralResult.execute(Lorg/apache/xalan/transformer/TransformerImpl;)7555500.29965.239true
org.apache.xerces.parsers.AbstractSAXParser.parse(Lorg/xml/sax/InputSource;)2671800.00028.599true
org.apache.xerces.parsers.XMLParser.parse(Lorg/apache/xerces/xni/parser/XMLInputSource;)266100.00028.597false
org.apache.xerces.parsers.XML11Configuration.parse(Lorg/apache/xerces/xni/parser/XMLInputSource;)265100.00028.590false
org.apache.xerces.parsers.XML11Configuration.parse(Z)264100.00028.589false
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Z)263100.00028.486false
org.apache.xml.dtm.ref.DTMManagerDefault.getDTM(Ljavax/xml/transform/Source;ZLorg/apache/xml/dtm/DTMWSFilter;ZZ)156100.00228.485false
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Z)262100.50728.282false
sun.nio.cs.StreamEncoder.write([CII)121963501.52224.308true
sun.nio.cs.StreamEncoder.implWrite([CII)12195101.22622.616false
org.apache.xml.serializer.ToHTMLStream.characters([CII)16215700.06318.969true

Subsuming Methods

MethodNode CountHeightCPD minExclusiveInclusiveInducedS(e)S(i)S(*)
sun.nio.cs.StreamEncoder.write([CII)121963501.52224.30824.308truetruefalse
org.apache.xerces.parsers.AbstractSAXParser.parse(Lorg/xml/sax/InputSource;)2671800.00028.59918.592falsetruefalse
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(Lorg/apache/xalan/templates/ElemTemplateElement;Z)177582200.34765.33311.184falsetruefalse
org.apache.xml.serializer.ToHTMLStream.characters([CII)16215700.06318.96906.904falsetruefalse
org.apache.xpath.patterns.StepPattern.execute(Lorg/apache/xpath/XPathContext;ILorg/apache/xml/dtm/DTM;I)60221700.30805.94804.738falsefalsetrue
org.apache.xerces.impl.XMLEntityScanner.load(IZ)4529700.01004.53504.530falsefalsetrue
org.apache.xalan.templates.ElemLiteralResult.execute(Lorg/apache/xalan/transformer/TransformerImpl;)7555500.29965.23902.326falsetruefalse
org.apache.xml.dtm.ref.sax2dtm.SAX2DTM.addNode(IIIIIZ)156800.60802.21102.210falsefalsetrue
org.apache.xpath.axes.NodeSequence.nextNode()22471500.41102.52801.986falsefalsetrue
org.apache.xpath.axes.BasicTestIterator.nextNode()16361600.18001.32301.323falsefalsetrue
java.util.HashMap.putAllForCreate(Ljava/util/Map;)661300.10701.44701.184falsefalsetrue
java.io.Writer.write(Ljava/lang/String;)52393200.13010.45201.062falsefalsetrue
org.apache.xml.dtm.ref.sax2dtm.SAX2DTM.dispatchCharactersEvents(ILorg/xml/sax/ContentHandler;Z)9017500.23518.27301.038falsefalsetrue
java.util.zip.ZipCoder.getBytes(Ljava/lang/String;)100786000.03900.89600.896falsefalsetrue
org.apache.xml.serializer.ToStream.startElement(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)8315600.02805.10500.862falsefalsetrue
org.apache.xml.serializer.ToHTMLStream.processAttributes(Ljava/io/Writer;I)77121000.03806.26800.742falsefalsetrue
org.apache.xpath.patterns.StepPattern.execute(Lorg/apache/xpath/XPathContext;I)2251600.13802.76000.730falsefalsetrue
org.apache.xalan.templates.TemplateList.getTemplate(Lorg/apache/xpath/XPathContext;ILorg/apache/xml/utils/QName;ZLorg/apache/xml/dtm/DTM;)461400.03700.70800.704falsefalsetrue
org.apache.xerces.impl.XMLEntityScanner.skipChar(I)558500.68200.87100.682falsefalsetrue
org.apache.xpath.Expression.execute(Lorg/apache/xpath/XPathContext;Z)4013700.00300.74800.652falsefalsetrue

Calling Context Ring Charts

xalan benchmark xalan benchmark

tradebeans

Exclusive Methods

MethodNode CountHeightCPD minExclusiveInclusiveIs Subsuming
java.lang.String.toUpperCase(Ljava/util/Locale;)1020312009.07720.426false
java.lang.String.hashCode()103992013605.67705.677false
java.lang.CharacterDataLatin1.toUpperCaseEx(I)16691104.67307.218false
org.h2.command.Parser.initialize(Ljava/lang/String;)994103.52904.211false
org.h2.index.BaseIndex.compareRows(Lorg/h2/result/SearchRow;Lorg/h2/result/SearchRow;)81488503.15608.927true
sun.nio.cs.UTF_8$Encoder.encode([CII[B)33770013502.86002.860false
java.lang.CharacterDataLatin1.getProperties(I)44039013102.82702.827false
org.h2.index.BaseIndex.compareValues(Lorg/h2/value/Value;Lorg/h2/value/Value;I)8147102.13104.882false
org.h2.command.Parser.read()116543402.07506.332false
java.lang.String.equals(Ljava/lang/Object;)64996013402.01902.019false
java.lang.Character.toUpperCaseEx(I)16692101.97810.892false
java.lang.CharacterData.of(I)44735313001.88401.885false
java.util.HashMap.hash(Ljava/lang/Object;)836261413501.80406.212true
java.lang.String.indexOf(II)58667013101.54901.549false
sun.security.provider.SHA.implCompress([BI)332910801.43801.495true
org.h2.command.Parser.readIf(Ljava/lang/String;)584653301.40605.129true
java.util.HashMap.put(Ljava/lang/Object;Ljava/lang/Object;)222661112501.13206.414true
org.h2.index.TreeIndex.findFirstNode(Lorg/h2/result/SearchRow;Z)30778401.01205.702true
java.lang.String.([CII)76557213300.99001.898false
org.h2.result.Row.getValue(I)180408600.98100.981false

Inclusive Methods

MethodNode CountHeightCPD minExclusiveInclusiveIs Subsuming
org.apache.geronimo.samples.daytrader.dacapo.DaCapoTrader.run()154100.00087.880true
org.apache.geronimo.samples.daytrader.direct.TradeDirect.buy(Ljava/lang/String;Ljava/lang/String;DI)248600.00870.651true
org.apache.geronimo.samples.daytrader.dacapo.DaCapoTrader.reset()153100.00068.943false
org.apache.geronimo.samples.daytrader.direct.TradeDirect.resetDaCapo(Ljava/lang/String;I)152100.00068.943false
org.apache.geronimo.samples.daytrader.dacapo.DaCapoDBBuilder.reset(Lorg/apache/geronimo/samples/daytrader/direct/TradeDirect;Ljava/lang/String;I)151100.00068.943false
org.apache.geronimo.samples.daytrader.dacapo.DaCapoDBBuilder.populateUsers(Lorg/apache/geronimo/samples/daytrader/direct/TradeDirect;II)150100.00068.698false
org.apache.geronimo.samples.daytrader.dacapo.DaCapoDBBuilder.addUser(Lorg/apache/geronimo/samples/daytrader/direct/TradeDirect;Ljava/lang/String;)149100.00168.698false
org.apache.geronimo.samples.daytrader.direct.TradeDirect.completeOrder(Ljava/sql/Connection;Ljava/lang/Integer;)347700.01236.964true
org.h2.jdbc.JdbcResultSet.get(Ljava/lang/String;)238101300.06835.574true
org.h2.jdbc.JdbcResultSet.getColumnIndex(Ljava/lang/String;)2388100.68633.874false
org.tranql.connector.jdbc.ConnectionHandle.prepareStatement(Ljava/lang/String;)94864500.01425.903true
org.apache.geronimo.samples.daytrader.direct.TradeDirect.getStatement(Ljava/sql/Connection;Ljava/lang/String;)61461000.00525.808true
org.h2.jdbc.JdbcConnection.prepareStatement(Ljava/lang/String;)8344100.03025.748false
org.h2.jdbc.JdbcPreparedStatement.(Lorg/h2/jdbc/JdbcConnection;Ljava/lang/String;IIIZ)8343100.03324.550false
org.h2.jdbc.JdbcConnection.prepareCommand(Ljava/lang/String;I)85465200.00723.999true
org.h2.engine.Session.prepareCommand(Ljava/lang/String;I)98457300.00523.994true
org.h2.engine.Session.prepareLocal(Ljava/lang/String;)9844100.01523.989false
org.h2.command.Parser.prepareCommand(Ljava/lang/String;)9843100.03423.956false
org.h2.util.StringUtils.toUpperEnglish(Ljava/lang/String;)346147600.11820.500true
java.lang.String.toUpperCase(Ljava/util/Locale;)1020312009.07720.426false

Subsuming Methods

MethodNode CountHeightCPD minExclusiveInclusiveInducedS(e)S(i)S(*)
org.h2.util.StringUtils.toUpperEnglish(Ljava/lang/String;)346147600.11820.50020.500falsetruefalse
org.h2.index.BaseIndex.compareRows(Lorg/h2/result/SearchRow;Lorg/h2/result/SearchRow;)81488503.15608.92708.926truefalsefalse
java.util.HashMap.hash(Ljava/lang/Object;)836261413501.80406.21206.188truefalsefalse
org.h2.command.Parser.parse(Ljava/lang/String;)99427600.02119.45605.262falsefalsetrue
org.h2.command.Parser.readIf(Ljava/lang/String;)584653301.40605.12905.129truefalsefalse
org.h2.command.Parser.parseSelect()49351900.03308.34103.108falsefalsetrue
java.util.HashMap.put(Ljava/lang/Object;Ljava/lang/Object;)222661112501.13206.41403.097truefalsefalse
java.util.HashMap.getEntry(Ljava/lang/Object;)658891513400.97605.72003.027falsefalsetrue
java.util.zip.ZipCoder.getBytes(Ljava/lang/String;)31918813400.12802.86702.866falsefalsetrue
org.h2.jdbc.JdbcResultSet.get(Ljava/lang/String;)238101300.06835.57402.463falsetruefalse
org.h2.engine.Session.prepareCommand(Ljava/lang/String;I)98457300.00523.99402.314falsetruefalse
org.h2.command.Parser.readExpression()123382400.03104.41501.943falsefalsetrue
org.h2.command.Command.executeUpdate()158337300.07115.86601.866falsefalsetrue
java.lang.StringBuilder.append(Ljava/lang/String;)44000512700.13301.63101.631falsefalsetrue
sun.security.provider.SHA.implCompress([BI)332910801.43801.49501.495truefalsefalse
org.h2.jdbc.JdbcPreparedStatement.checkClosed(Z)77651800.13701.49301.493falsefalsetrue
org.h2.command.dml.Query.query(I)5533800.06305.77901.407falsefalsetrue
org.h2.index.TreeIndex.add(Lorg/h2/engine/Session;Lorg/h2/result/Row;)126288200.72803.90101.337falsefalsetrue
org.tranql.connector.jdbc.ConnectionHandle.prepareStatement(Ljava/lang/String;)94864500.01425.90301.303falsetruefalse
org.h2.index.TreeIndex.findFirstNode(Lorg/h2/result/SearchRow;Z)30778401.01205.70201.129truefalsefalse

Calling Context Ring Charts

tradebeans benchmark tradebeans benchmark

tradesoap

Exclusive Methods

MethodNode CountHeightCPD minExclusiveInclusiveIs Subsuming
sun.nio.cs.UTF_8$Encoder.encodeArrayLoop(Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;)2733104.17604.227false
sun.nio.cs.UTF_8$Encoder.encode([CII[B)34629013502.81102.811false
com.sun.org.apache.xerces.internal.util.SymbolTable.addSymbol([CII)6233702.45504.469false
java.lang.String.hashCode()120419013602.31102.311false
com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.scanLiteral(ILcom/sun/org/apache/xerces/internal/xni/XMLString;)13710702.29104.156true
java.lang.String.toUpperCase(Ljava/util/Locale;)1340312002.22405.004false
java.lang.String.indexOf(II)60826013102.03202.032false
sun.security.provider.SHA.implCompress([BI)361910802.02102.092true
com.sun.org.apache.xerces.internal.util.SymbolTable.hash([CII)6230101.99901.999false
com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.scanQName(Lcom/sun/org/apache/xerces/internal/xni/QName;)17710201.78904.799false
java.util.HashMap.hash(Ljava/lang/Object;)947611413501.75404.039true
java.lang.String.startsWith(Ljava/lang/String;I)50736013301.48701.487false
com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.read([CII)13419101.45801.503false
java.lang.String.equals(Ljava/lang/Object;)81385013401.45701.457false
sun.nio.cs.UTF_8$Decoder.decode([BII[C)337112701.44301.443false
java.lang.String.charAt(I)125360013001.44101.441false
java.util.HashMap.getEntry(Ljava/lang/Object;)738401513401.28305.152true
java.lang.CharacterDataLatin1.toUpperCaseEx(I)22071101.14501.767false
java.io.BufferedWriter.write(I)945117500.93101.260true
org.h2.command.Parser.initialize(Ljava/lang/String;)1374100.86701.038false

Inclusive Methods

MethodNode CountHeightCPD minExclusiveInclusiveIs Subsuming
java.lang.Thread.run()1148100.00050.741true
org.apache.geronimo.samples.daytrader.dacapo.DaCapoTrader.run()169100.00046.169true
org.apache.geronimo.samples.daytrader.dacapo.DaCapoTrader.runTradeSession(Ljava/lang/String;)168100.00046.147false
org.apache.geronimo.axis.client.ServiceEndpointMethodInterceptor.intercept(Ljava/lang/Object;Ljava/lang/reflect/Method;[Ljava/lang/Object;Lnet/sf/cglib/proxy/MethodProxy;)1563700.00044.144true
org.apache.geronimo.axis.client.ServiceEndpointMethodInterceptor.doIntercept(Ljava/lang/Object;Ljava/lang/reflect/Method;[Ljava/lang/Object;Lnet/sf/cglib/proxy/MethodProxy;)1562100.00244.134false
java.util.concurrent.ThreadPoolExecutor$Worker.run()1100100.00042.950false
java.util.concurrent.ThreadPoolExecutor.runWorker(Ljava/util/concurrent/ThreadPoolExecutor$Worker;)199100.00142.950false
org.apache.geronimo.pool.ThreadPool$ContextClassLoaderRunnable.run()198100.00042.319false
org.apache.geronimo.pool.ThreadPool$1.run()197100.00042.318false
org.mortbay.io.nio.SelectChannelEndPoint.run()196100.00041.868false
org.mortbay.jetty.HttpConnection.handle()195100.00441.862false
org.mortbay.jetty.HttpParser.parseAvailable()194100.00141.813false
org.mortbay.jetty.HttpParser.parseNext()3934500.36541.810true
org.mortbay.jetty.HttpConnection$RequestHandler.content(Lorg/mortbay/io/Buffer;)192100.00040.446false
org.mortbay.jetty.HttpConnection.handleRequest()191100.00240.445false
org.mortbay.jetty.Server.handle(Lorg/mortbay/jetty/HttpConnection;)190100.00040.172false
org.mortbay.jetty.handler.HandlerWrapper.handle(Ljava/lang/String;Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;I)289400.00040.168false
org.mortbay.jetty.handler.HandlerCollection.handle(Ljava/lang/String;Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;I)188100.00240.167false
org.apache.axis.client.Call.invoke([Ljava/lang/Object;)1561100.00139.908false
org.apache.axis.client.Call.invoke(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)1560100.00139.905false

Subsuming Methods

MethodNode CountHeightCPD minExclusiveInclusiveInducedS(e)S(i)S(*)
com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Lcom/sun/org/apache/xerces/internal/xni/parser/XMLInputSource;)56595900.00026.84411.852falsefalsetrue
org.h2.util.StringUtils.toUpperEnglish(Ljava/lang/String;)625144400.02804.93504.935falsefalsetrue
java.nio.charset.CharsetEncoder.encode(Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;Z)27358700.01004.25304.253falsefalsetrue
java.util.HashMap.hash(Ljava/lang/Object;)947611413501.75404.03904.017truefalsefalse
com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.scanLiteral(ILcom/sun/org/apache/xerces/internal/xni/XMLString;)13710702.29104.15602.959truefalsefalse
java.util.zip.ZipCoder.getBytes(Ljava/lang/String;)32773813400.12502.83002.829falsefalsetrue
org.apache.axis.encoding.DeserializationContext.endElement(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)56455400.15405.05302.685falsefalsetrue
org.apache.axis.encoding.DeserializationContext.startElement(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lorg/xml/sax/Attributes;)92505600.24109.79202.593falsefalsetrue
java.util.HashMap.getEntry(Ljava/lang/Object;)738401513401.28305.15202.575truefalsefalse
sun.security.provider.SHA.implCompress([BI)361910802.02102.09202.092truefalsefalse
java.util.HashMap.put(Ljava/lang/Object;Ljava/lang/Object;)255471112500.67303.38602.054falsefalsetrue
org.h2.index.BaseIndex.compareRows(Lorg/h2/result/SearchRow;Lorg/h2/result/SearchRow;)106985200.69401.96201.962falsefalsetrue
org.apache.axis.message.SAX2EventRecorder.replay(IILorg/xml/sax/ContentHandler;)96515800.75416.29201.939falsefalsetrue
org.apache.axis.encoding.SerializationContext.startElement(Ljavax/xml/namespace/QName;Lorg/xml/sax/Attributes;)147291500.33905.53701.823falsefalsetrue
org.apache.axis.encoding.SerializationContext.qName2String(Ljavax/xml/namespace/QName;Z)148281600.13901.73601.716falsefalsetrue
java.lang.StringCoding.decode(Ljava/lang/String;[BII)3581012100.01801.75201.598falsefalsetrue
com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.load(IZ)267201100.02501.62001.546falsefalsetrue
java.net.URI$Parser.parse(Z)194127300.00801.55301.507falsefalsetrue
org.mortbay.jetty.HttpParser.parseNext()3934500.36541.81001.443falsetruefalse
org.h2.command.Parser.parse(Ljava/lang/String;)137424300.00504.80301.300falsefalsetrue

Calling Context Ring Charts

tradesoap benchmark tradesoap benchmark

h2

Exclusive Methods

MethodNode CountHeightCPD minExclusiveInclusiveIs Subsuming
org.dacapo.h2.TPCC.calculateSumDB(Ljava/lang/String;I)1123108.75848.447false
org.h2.index.BaseIndex.compareRows(Lorg/h2/result/SearchRow;Lorg/h2/result/SearchRow;)71592506.64419.036true
java.lang.String.charAt(I)145304606.29306.293false
org.h2.index.BaseIndex.compareValues(Lorg/h2/value/Value;Lorg/h2/value/Value;I)7158104.39710.418false
java.lang.Integer.getChars(II[C)19403003.62903.629false
org.h2.table.TableFilter.next()67121903.10819.708true
java.lang.String.length()306304602.65502.655false
org.h2.result.Row.getValue(I)174902602.50202.502false
org.h2.value.Value.compareTypeSave(Lorg/h2/value/Value;Lorg/h2/value/CompareMode;)73362802.02004.933true
org.h2.expression.ExpressionColumn.getValue(Lorg/h2/engine/Session;)18331901.98705.383false
java.lang.AbstractStringBuilder.append(Ljava/lang/String;)65133701.85304.007false
org.h2.table.TableFilter.getValue(Lorg/h2/table/Column;)1831101.72602.494false
org.h2.command.dml.Select.queryFlat(ILorg/h2/result/LocalResult;J)3712101.59525.339false
org.h2.jdbc.JdbcConnection.checkClosed(Z)87021901.57103.872false
org.h2.expression.Comparison.getValue(Lorg/h2/engine/Session;)1225301.53807.271false
java.lang.String.getChars(II[CI)74703801.45801.458false
org.h2.jdbc.JdbcResultSet.get(I)113151301.45009.646true
org.h2.util.MathUtils.compare(II)131603001.27401.274false
org.h2.value.ValueShort.compareSecure(Lorg/h2/value/Value;Lorg/h2/value/CompareMode;)75712901.22202.084false
org.h2.engine.Session.isReconnectNeeded(Z)8701101.21001.938false

Inclusive Methods

MethodNode CountHeightCPD minExclusiveInclusiveIs Subsuming
org.dacapo.harness.Benchmark.run(Lorg/dacapo/harness/Callback;Ljava/lang/String;)140100.00058.909false
org.dacapo.harness.TestHarness.runBenchmark(Ljava/io/File;Ljava/lang/String;Lorg/dacapo/harness/TestHarness;)141100.00058.909false
Harness.main([Ljava/lang/String;)143100.00058.909true
org.dacapo.harness.TestHarness.main([Ljava/lang/String;)142100.00058.909false
org.dacapo.harness.H2.iterate(Ljava/lang/String;)139100.00058.909false
java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)138100.00058.909false
sun.reflect.DelegatingMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)137100.00058.909false
sun.reflect.NativeMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)136100.00058.909false
org.dacapo.h2.TPCC.iteration(Ljava/lang/String;)135100.00058.909false
org.dacapo.h2.TPCC.calculateSumDB()124100.00048.447false
org.dacapo.h2.TPCC.calculateSumDB(Ljava/lang/String;I)1123108.75848.447false
org.dacapo.h2.TPCC$3.run()146100.00041.090true
org.dacapo.h2.TPCCSubmitter.runTransactions(Ljava/lang/Object;I)145100.00141.090false
org.dacapo.h2.TPCCSubmitter.runTransaction(ILjava/lang/Object;)144100.00041.081false
org.h2.command.Command.executeQuery(IZ)42341300.00130.882true
org.h2.command.Command.executeQueryLocal(I)4233100.01230.881false
org.h2.command.CommandContainer.query(I)4232100.00730.829false
org.h2.command.dml.Query.query(I)4131100.01930.714false
org.h2.command.dml.Select.queryWithoutCache(I)4130100.02330.458false
org.apache.derbyTesting.system.oe.client.Submitter.runPayment(Ljava/lang/Object;Z)236100.00226.510false

Subsuming Methods

MethodNode CountHeightCPD minExclusiveInclusiveInducedS(e)S(i)S(*)
Harness.main([Ljava/lang/String;)143100.00058.90917.322falsetruefalse
org.h2.jdbc.JdbcResultSet.getString(I)4791200.52925.21915.863falsefalsetrue
org.h2.index.BaseIndex.compareRows(Lorg/h2/result/SearchRow;Lorg/h2/result/SearchRow;)71592506.64419.03613.015truefalsefalse
org.h2.expression.Expression.getBooleanValue(Lorg/h2/engine/Session;)53121500.17608.74007.779falsefalsetrue
org.h2.command.Command.executeQuery(IZ)42341300.00130.88206.404falsetruefalse
org.h2.table.TableFilter.next()67121903.10819.70806.175truefalsefalse
org.h2.value.Value.compareTypeSave(Lorg/h2/value/Value;Lorg/h2/value/CompareMode;)73362802.02004.93304.933truefalsefalse
org.h2.jdbc.JdbcStatement.checkClosed()51051600.24703.83003.830falsefalsetrue
org.h2.jdbc.JdbcResultSet.getColumnIndex(Ljava/lang/String;)617700.09503.76103.552falsefalsetrue
org.h2.jdbc.JdbcResultSet.get(I)113151301.45009.64603.276truefalsefalse
org.h2.jdbc.JdbcResultSet.checkClosed()21561500.99806.75303.112falsefalsetrue
org.h2.index.MultiVersionCursor.next()5992101.17511.46602.331falsefalsetrue
org.h2.index.TreeCursor.next()18562401.09009.89901.989falsefalsetrue
org.h2.command.Command.executeUpdate()60261200.01620.23101.947falsefalsetrue
org.h2.table.Table.compareTypeSave(Lorg/h2/value/Value;Lorg/h2/value/Value;)72372701.10106.03301.101falsefalsetrue
org.h2.value.Value.convertTo(I)37762700.48801.09201.006falsefalsetrue
org.h2.index.TreeIndex.findFirstNode(Lorg/h2/result/SearchRow;Z)22962300.91808.63500.994falsefalsetrue
org.h2.index.TreeIndex.add(Lorg/h2/engine/Session;Lorg/h2/result/Row;)806700.44003.66600.788falsefalsetrue
org.dacapo.h2.TPCC$3.run()146100.00041.09000.768falsetruefalse
java.util.HashMap.getEntry(Ljava/lang/Object;)85283500.21400.60800.608falsefalsetrue

Calling Context Ring Charts

h2 benchmark h2 benchmark

jython

Exclusive Methods

MethodNode CountHeightCPD minExclusiveInclusiveIs Subsuming
java.util.concurrent.ConcurrentHashMap.hash(Ljava/lang/Object;)15153714207.26608.644true
java.util.concurrent.ConcurrentHashMap.get(Ljava/lang/Object;)11932912206.34512.966true
org.python.core.PyFrame.getlocal(I)101840302.65502.655false
java.util.ArrayList$SubList$1.next()3011002.32603.017false
java.lang.CharacterData.of(I)2415317401.70801.708false
org.python.core.PyFrame.setline(I)103310301.66701.667false
java.util.concurrent.ConcurrentHashMap$Segment.put(Ljava/lang/Object;ILjava/lang/Object;Z)3100914201.57004.775true
java.lang.CharacterDataLatin1.getProperties(I)2267017501.54201.542false
java.lang.ThreadLocal$ThreadLocalMap.getEntry(Ljava/lang/ThreadLocal;)45191101.31001.489false
org.antlr.runtime.CommonTokenStream.LT(I)8156551511901.09504.899true
java.lang.String.hashCode()106901016001.07001.070false
java.lang.ThreadLocal.get()4519712801.01302.919true
java.util.concurrent.ConcurrentHashMap.put(Ljava/lang/Object;Ljava/lang/Object;)29561012000.99907.867true
java.util.HashMap.getEntry(Ljava/lang/Object;)159547818600.99402.008true
java.lang.String.toUpperCase(Ljava/util/Locale;)2532300.98902.260false
java.lang.String.toLowerCase(Ljava/util/Locale;)12242100.95602.260false
java.util.AbstractCollection.toArray()315100.88604.500false
org.python.core.PyFrame.setlocal(ILorg/python/core/PyObject;)32580300.86700.867false
org.python.core.PyString.str_title()245300.83606.873false
org.python.core.PyObject._lt(Lorg/python/core/PyObject;)546122200.83303.678true

Inclusive Methods

MethodNode CountHeightCPD minExclusiveInclusiveIs Subsuming
org.dacapo.harness.Benchmark.run(Lorg/dacapo/harness/Callback;Ljava/lang/String;)1190100.000100.000false
org.dacapo.harness.TestHarness.runBenchmark(Ljava/io/File;Ljava/lang/String;Lorg/dacapo/harness/TestHarness;)1191100.000100.000false
Harness.main([Ljava/lang/String;)1193100.000100.000true
org.dacapo.harness.TestHarness.main([Ljava/lang/String;)1192100.000100.000false
org.dacapo.harness.Jython.iterate(Ljava/lang/String;)1189100.00099.999false
java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)9918813200.00099.999false
sun.reflect.DelegatingMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)99187100.00099.999false
sun.reflect.NativeMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)71186100.00099.999false
org.python.util.jython.main([Ljava/lang/String;)1185100.00099.999false
org.python.util.jython.run([Ljava/lang/String;)1184100.00099.999false
org.python.util.PythonInterpreter.execfile(Ljava/io/InputStream;Ljava/lang/String;)1183100.00099.998false
org.python.core.PyTableCode.call(Lorg/python/core/ThreadState;Lorg/python/core/PyFrame;Lorg/python/core/PyObject;)107118011500.76899.412true
org.python.core.Py.runCode(Lorg/python/core/PyCode;Lorg/python/core/PyObject;Lorg/python/core/PyObject;)1182100.00099.412false
org.python.core.PyCode.call(Lorg/python/core/ThreadState;Lorg/python/core/PyFrame;)401819000.00099.412true
org.python.pycode._pyx1.call_function(ILorg/python/core/PyFrame;Lorg/python/core/ThreadState;)13179100.00099.412false
org.python.pycode._pyx1.f$0(Lorg/python/core/PyFrame;Lorg/python/core/ThreadState;)1178100.00099.412false
org.python.core.PyMethod.__call__([Lorg/python/core/PyObject;[Ljava/lang/String;)3231031800.00880.288true
org.python.core.PyMethod.instancemethod___call__([Lorg/python/core/PyObject;[Ljava/lang/String;)323102100.01080.287false
org.python.core.PyMethod.__call__(Lorg/python/core/ThreadState;[Lorg/python/core/PyObject;[Ljava/lang/String;)330101800.02580.268true
org.python.core.PyBaseCode.call(Lorg/python/core/ThreadState;[Lorg/python/core/PyObject;[Ljava/lang/String;Lorg/python/core/PyObject;[Lorg/python/core/PyObject;Lorg/python/core/PyObject;)5761051600.23980.261true

Subsuming Methods

MethodNode CountHeightCPD minExclusiveInclusiveInducedS(e)S(i)S(*)
org.python.core.PyTableCode.call(Lorg/python/core/ThreadState;Lorg/python/core/PyFrame;Lorg/python/core/PyObject;)107118011500.76899.41227.908falsetruefalse
java.util.concurrent.ConcurrentHashMap.hash(Ljava/lang/Object;)15153714207.26608.64408.644truefalsefalse
java.util.concurrent.ConcurrentHashMap.get(Ljava/lang/Object;)11932912206.34512.96606.345truefalsefalse
java.util.concurrent.ConcurrentHashMap$Segment.put(Ljava/lang/Object;ILjava/lang/Object;Z)3100914201.57004.77504.775truefalsefalse
java.util.ArrayList.(Ljava/util/Collection;)270611100.03304.55404.554falsefalsetrue
org.antlr.runtime.CommonTokenStream.LT(I)8156551511901.09504.89903.838truefalsefalse
java.lang.ThreadLocal.get()4519712801.01302.91902.919truefalsefalse
org.python.antlr.PythonParser.expr(Lorg/python/antlr/ast/expr_contextType;)142961338500.10006.33102.458falsefalsetrue
java.lang.String.toLowerCase()122438600.00202.26402.260falsefalsetrue
java.util.HashMap.getEntry(Ljava/lang/Object;)159547818600.99402.00802.008truefalsefalse
org.python.core.PyObject._try__cmp__(Lorg/python/core/PyObject;)111461500.28301.49901.499falsefalsetrue
org.python.core.PyObject._basic_add(Lorg/python/core/PyObject;)6459800.13601.83601.399falsefalsetrue
org.antlr.runtime.DFA.predict(Lorg/antlr/runtime/IntStream;)2043812310400.16705.28201.347falsefalsetrue
org.python.core.PyObject._lt(Lorg/python/core/PyObject;)546122200.83303.67801.222truefalsefalse
org.python.core.PyMethodDescr.__get__(Lorg/python/core/PyObject;Lorg/python/core/PyObject;)791711500.07801.21601.216falsefalsetrue
org.python.core.SequenceIndexDelegate.checkIdxAndFindItem(I)17101112200.38302.19601.213falsefalsetrue
org.python.core.PyType.__call__([Lorg/python/core/PyObject;[Ljava/lang/String;)3471072500.01105.24301.198falsefalsetrue
org.python.core.PyObject._gt(Lorg/python/core/PyObject;)43572200.77402.78001.157falsefalsetrue
org.python.core.PyObject._eq(Lorg/python/core/PyObject;)867125600.75902.65101.114falsefalsetrue
org.python.core.PyObject.object___findattr__(Ljava/lang/String;)8921411200.31603.70901.072falsefalsetrue

Calling Context Ring Charts

jython benchmark jython benchmark

eclipse

Exclusive Methods

MethodNode CountHeightCPD minExclusiveInclusiveIs Subsuming
org.eclipse.jdt.core.compiler.CharOperation.equals([C[C)537524011613.28213.282false
org.eclipse.jdt.internal.core.util.SimpleWordSet.add([C)29803309.02022.811false
org.eclipse.jdt.core.compiler.CharOperation.hashCode([C)385514011606.18006.180false
org.eclipse.jdt.internal.compiler.parser.Scanner.getNextToken()86050811105.73914.481true
org.eclipse.jdt.internal.compiler.util.HashtableOfObject.put([CLjava/lang/Object;)49644311105.61607.827false
org.eclipse.jdt.internal.compiler.classfmt.ClassFileStruct.utf8At(II)1733109204.86004.860false
org.eclipse.jdt.internal.compiler.util.HashtableOfObject.get([C)11942218704.26506.849false
org.eclipse.jdt.internal.compiler.parser.Scanner.scanIdentifierOrKeyword()38033211203.87904.082false
sun.nio.cs.UTF_8$Decoder.decodeArrayLoop(Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;)7383103.13603.147false
org.eclipse.jdt.internal.compiler.parser.Parser.parse()4994511002.44921.854true
org.eclipse.jdt.internal.compiler.parser.Scanner.jumpOverMethodBody()1567201.61503.687false
org.eclipse.jdt.internal.compiler.parser.Scanner.checkTaskTag(II)231101.48002.201false
org.eclipse.jdt.internal.core.index.DiskIndex.writeStreamChars(Ljava/io/FileOutputStream;[CII)140101.29501.295false
org.eclipse.jdt.core.compiler.CharOperation.replaceOnCopy([CCC)8803501.28501.285false
java.lang.String.indexOf(II)34947013301.07601.076false
org.eclipse.jdt.core.compiler.CharOperation.lastIndexOf(C[C)5536011200.94900.949false
org.eclipse.jdt.internal.compiler.classfmt.ClassFileStruct.u2At(I)6105209200.91600.916false
org.eclipse.jdt.internal.core.search.indexing.BinaryIndexer.replace(CC[C)220600.91100.911false
org.eclipse.jdt.core.compiler.CharOperation.splitOn(C[C)131308400.81000.810false
java.lang.String.hashCode()110708013200.73400.734false

Inclusive Methods

MethodNode CountHeightCPD minExclusiveInclusiveIs Subsuming
java.lang.Thread.run()175100.00071.729true
org.eclipse.jdt.internal.core.search.processing.JobManager.run()174100.00063.158false
org.eclipse.jdt.internal.core.search.indexing.AddJarFileToIndex.execute(Lorg/eclipse/core/runtime/IProgressMonitor;)155100.00352.755false
org.eclipse.jdt.internal.core.search.indexing.IndexManager.indexDocument(Lorg/eclipse/jdt/core/search/SearchDocument;Lorg/eclipse/jdt/core/search/SearchParticipant;Lorg/eclipse/jdt/internal/core/index/Index;Lorg/eclipse/core/runtime/IPath;)272200.00146.992false
org.eclipse.jdt.internal.core.search.JavaSearchParticipant.indexDocument(Lorg/eclipse/jdt/core/search/SearchDocument;Lorg/eclipse/core/runtime/IPath;)271100.00146.990false
org.eclipse.jdt.internal.core.search.indexing.BinaryIndexer.indexDocument()152100.09536.966false
nz.co.maplesden.project.JPHarness.main([Ljava/lang/String;)1153100.00027.562true
java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)121524200.00027.562false
sun.reflect.DelegatingMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)12151100.00027.562false
sun.reflect.NativeMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)12150100.00027.562false
Harness.main([Ljava/lang/String;)1149100.00027.562false
org.dacapo.harness.TestHarness.main([Ljava/lang/String;)1148100.00027.560false
org.dacapo.harness.TestHarness.runBenchmark(Ljava/io/File;Ljava/lang/String;Lorg/dacapo/harness/TestHarness;)1147100.00027.554false
org.dacapo.harness.Benchmark.run(Lorg/dacapo/harness/Callback;Ljava/lang/String;)1146100.00027.378false
org.eclipse.core.runtime.adaptor.EclipseStarter.run(Ljava/lang/Object;)3141100.00027.097false
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(Ljava/lang/Object;)3139200.00027.096false
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(Ljava/lang/Object;)3138100.00027.096false
org.eclipse.equinox.internal.app.EclipseAppHandle.run(Ljava/lang/Object;)3137100.00027.096false
org.dacapo.eclipse.BenchmarkRunner.start(Lorg/eclipse/equinox/app/IApplicationContext;)3136100.00027.094false
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.reStart(Ljava/lang/Object;)2140100.00026.996false

Subsuming Methods

MethodNode CountHeightCPD minExclusiveInclusiveInducedS(e)S(i)S(*)
org.eclipse.jdt.internal.core.search.indexing.AbstractIndexer.addIndexEntry([C[C)1266252800.09025.27025.263falsefalsetrue
java.lang.Thread.run()175100.00071.72924.443falsetruefalse
org.eclipse.jdt.internal.compiler.parser.Scanner.getNextToken()86050811105.73914.48114.235truefalsefalse
org.eclipse.jdt.internal.compiler.parser.Parser.parse()4994511002.44921.85405.809truefalsefalse
java.io.InputStreamReader.read([CII)7391611700.00003.17803.176falsefalsetrue
org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader.([B[CZ)1232408600.37401.69501.671falsefalsetrue
org.eclipse.core.runtime.Path.initialize(Ljava/lang/String;Ljava/lang/String;)39192412000.02301.36201.362falsefalsetrue
org.eclipse.jdt.internal.core.search.indexing.BinaryIndexer.addTypeReference([C)2510600.08904.36001.301falsefalsetrue
org.eclipse.jdt.internal.core.search.processing.JobManager.performConcurrentJob(Lorg/eclipse/jdt/internal/core/search/processing/IJob;ILorg/eclipse/core/runtime/IProgressMonitor;)23696000.00002.13601.223falsefalsetrue
org.eclipse.jdt.internal.compiler.parser.AbstractCommentParser.commentParse()240279800.45601.01400.842falsefalsetrue
org.eclipse.jdt.internal.core.index.DiskIndex.readChunk([Ljava/lang/String;Ljava/io/FileInputStream;II)95500.06700.79400.788falsefalsetrue
org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.generateCode(Lorg/eclipse/jdt/internal/compiler/ClassFile;)89501900.00001.79100.625falsefalsetrue
java.lang.StringCoding.encode(Ljava/lang/String;[CII)3271912000.00500.63200.615falsefalsetrue
org.eclipse.jdt.internal.core.search.indexing.AbstractIndexer.addTypeReference([C)51592600.02803.46400.561falsefalsetrue
org.eclipse.jdt.internal.compiler.lookup.Scope.findField(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;[CLorg/eclipse/jdt/internal/compiler/lookup/InvocationSite;Z)40604796600.07800.84700.452falsefalsetrue
nz.co.maplesden.project.JPHarness.main([Ljava/lang/String;)1153100.00027.56200.425falsetruefalse
java.net.URI$Parser.parse(Z)299811700.00200.41100.411falsefalsetrue
org.eclipse.core.runtime.SafeRunner.run(Lorg/eclipse/core/runtime/ISafeRunnable;)17911610800.00005.30300.389falsefalsetrue
org.eclipse.core.internal.dtree.DeltaDataTree.lookup(Lorg/eclipse/core/runtime/IPath;)60232212200.08300.38500.385falsefalsetrue
org.eclipse.core.runtime.Path.append(Ljava/lang/String;)47541011800.02201.30400.371falsefalsetrue

Calling Context Ring Charts

eclipse benchmark eclipse benchmark

tomcat

Exclusive Methods

MethodNode CountHeightCPD minExclusiveInclusiveIs Subsuming
sun.security.provider.SHA.implCompress([BI)1122911.65712.059false
sun.security.provider.DigestBase.engineUpdate([BII)2134507.59619.302false
sun.nio.cs.UTF_8$Encoder.encode([CII[B)1024609007.40207.402false
java.lang.String.charAt(I)4601508804.32504.325false
java.util.regex.Pattern$Slice.match(Ljava/util/regex/Matcher;ILjava/lang/CharSequence;)131103.66205.296false
java.io.BufferedReader.readLine(Z)1930102.76905.851false
sun.nio.cs.UTF_8$Decoder.decodeArrayLoop(Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;)343102.72802.762false
sun.nio.cs.ISO_8859_1$Encoder.encodeArrayLoop(Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;)291102.42602.433false
java.lang.AbstractStringBuilder.append(Ljava/lang/CharSequence;II)183101.98003.654false
org.eclipse.jdt.internal.compiler.classfmt.ClassFileStruct.utf8At(II)44730701.95501.955false
java.lang.String.indexOf(II)1712808901.86401.864false
java.util.regex.Pattern$Start.match(Ljava/util/regex/Matcher;ILjava/lang/CharSequence;)2322101.71207.558false
sun.security.provider.DigestBase.engineUpdate(B)34101.65720.934false
java.lang.String.hashCode()3361809301.39701.397false
java.util.regex.Matcher.search(I)27234501.35408.913true
org.dacapo.tomcat.Page.stringDigest(Ljava/lang/String;)227101.21626.588false
java.lang.String.startsWith(Ljava/lang/String;I)2328108901.09301.093false
java.lang.String.indexOf([CII[CIII)57550101.01701.017false
java.security.MessageDigest.update(B)361200.77322.260true
java.lang.String.length()10738109000.71100.711false

Inclusive Methods

MethodNode CountHeightCPD minExclusiveInclusiveIs Subsuming
java.lang.Thread.run()1108100.00093.986true
org.dacapo.tomcat.Client.run()139100.00453.846false
org.dacapo.tomcat.Page.fetch(Lorg/dacapo/tomcat/Session;Lorg/apache/commons/httpclient/HttpMethod;Ljava/io/File;Z)4401700.00248.813true
org.dacapo.tomcat.HttpGet.fetch(Lorg/dacapo/tomcat/Session;Ljava/io/File;Z)3451600.00041.109true
java.util.concurrent.ThreadPoolExecutor$Worker.run()1107100.00039.793false
java.util.concurrent.ThreadPoolExecutor.runWorker(Ljava/util/concurrent/ThreadPoolExecutor$Worker;)1106100.00339.793false
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run()1105100.00539.737false
org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Lorg/apache/tomcat/util/net/NioChannel;)1104100.00339.706false
org.apache.coyote.http11.Http11NioProcessor.process(Lorg/apache/tomcat/util/net/NioChannel;)1103100.01639.557false
org.apache.catalina.connector.CoyoteAdapter.service(Lorg/apache/coyote/Request;Lorg/apache/coyote/Response;)1102100.00438.162false
org.apache.catalina.core.StandardEngineValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)1101100.00036.200false
org.apache.catalina.authenticator.SingleSignOn.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)1100100.00336.197false
org.apache.catalina.valves.ErrorReportValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)199100.00135.923false
org.apache.catalina.core.StandardHostValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)198100.00235.904false
org.apache.catalina.authenticator.AuthenticatorBase.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)197100.00435.879false
org.apache.catalina.core.StandardContextValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)296100.01035.706false
org.apache.catalina.core.StandardWrapperValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)295100.01035.666false
org.apache.catalina.core.ApplicationFilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)9942500.00035.522true
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)993100.00335.522false
javax.servlet.http.HttpServlet.service(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)1492500.00135.518true

Subsuming Methods

MethodNode CountHeightCPD minExclusiveInclusiveInducedS(e)S(i)S(*)
java.security.MessageDigest.update(B)361200.77322.26022.260truefalsefalse
java.util.regex.Matcher.search(I)27234501.35408.91308.364truefalsefalse
java.util.zip.ZipCoder.getBytes(Ljava/lang/String;)781588700.27605.10105.101falsefalsetrue
java.util.regex.Matcher.replaceAll(Ljava/lang/String;)1474300.04112.55704.284falsefalsetrue
org.apache.jasper.compiler.JDTCompiler$1.findType(Ljava/lang/String;)415362600.00612.48503.494falsefalsetrue
java.lang.StringCoding.encode(Ljava/lang/String;[CII)245898800.02403.45703.358falsefalsetrue
java.io.InputStreamReader.read([CII)104285900.00103.49803.224falsefalsetrue
java.nio.charset.CharsetEncoder.encode(Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;Z)184157300.02003.03903.039falsefalsetrue
java.io.BufferedReader.readLine()19313800.01805.87003.024falsefalsetrue
java.lang.Thread.run()1108100.00093.98602.669falsetruefalse
sun.misc.URLClassPath$JarLoader.getResource(Ljava/lang/String;Z)5988178300.15209.07602.135falsefalsetrue
org.dacapo.tomcat.Page.fetch(Lorg/dacapo/tomcat/Session;Lorg/apache/commons/httpclient/HttpMethod;Ljava/io/File;Z)4401700.00248.81301.898falsetruefalse
java.util.HashMap.hash(Ljava/lang/Object;)30068219200.40901.73201.628falsefalsetrue
java.net.URL.(Ljava/net/URL;Ljava/lang/String;)2410128400.00201.64501.506falsefalsetrue
org.apache.commons.httpclient.URI.(Ljava/lang/String;ZLjava/lang/String;)1082100.00601.54601.441falsefalsetrue
org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.getTypeFromConstantPoolName([CIIZ)16438800.01601.41801.284falsefalsetrue
com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Lcom/sun/org/apache/xerces/internal/xni/parser/XMLInputSource;)309785400.00004.83001.243falsefalsetrue
java.util.Formatter.format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)7262100.03002.28501.132falsefalsetrue
java.lang.StringBuilder.append(Ljava/lang/String;)2710458800.07400.92400.924falsefalsetrue
javax.servlet.http.HttpServlet.service(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)1492500.00135.51800.820falsetruefalse

Calling Context Ring Charts

tomcat benchmark tomcat benchmark