Proceedings of the 22nd Annual ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages and Applications 2007
DOI: 10.1145/1297027.1297033
|View full text |Cite
|
Sign up to set email alerts
|

Statistically rigorous java performance evaluation

Abstract: Java performance is far from being trivial to benchmark because it is affected by various factors such as the Java application, its input, the virtual machine, the garbage collector, the heap size, etc. In addition, non-determinism at run-time causes the execution time of a Java program to differ from run to run. There are a number of sources of non-determinism such as Just-In-Time (JIT) compilation and optimization in the virtual machine (VM) driven by timerbased method sampling, thread scheduling, garbage co… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

2
229
1
6

Year Published

2011
2011
2018
2018

Publication Types

Select...
7
1
1

Relationship

0
9

Authors

Journals

citations
Cited by 378 publications
(241 citation statements)
references
References 19 publications
2
229
1
6
Order By: Relevance
“…Therefore graph topology, and in particular the splitting factor at data-parallel split-join nodes, can have an impact on performance. The experimental results were performed according to the methodology suggested by Georges et al [11].…”
Section: Resultsmentioning
confidence: 99%
“…Therefore graph topology, and in particular the splitting factor at data-parallel split-join nodes, can have an impact on performance. The experimental results were performed according to the methodology suggested by Georges et al [11].…”
Section: Resultsmentioning
confidence: 99%
“…We have implemented these four default policies in Panini Capsules and our comparison uses the same Panini program. We measure program runtime and CPU consumption for thread, round-robin, random, work-stealing and our technique when the steady-state performance is reached by following the methodology of Georges et al [13]. We compare program runtime and CPU consumption for these five policies on 2, 4, 8, and 12 cores settings (Linux taskset utility is used for altering core settings on 12-core system).…”
Section: Methodsmentioning
confidence: 99%
“…Within each trial, every benchmark (e.g., etcd-1) consists of 50 repeated executions (e.g., using the -i50 parameter of JMH) and every execution produces a single data point, which reports the average execution time in ns. For JMH benchmarks, we also run 10 warmup executions (after which steady-state performance is most likely reached [9]) prior to the test executions. The performance counters originating from warmup iterations are discarded.…”
Section: Packagementioning
confidence: 99%
“…Others report on wrongly quantified experimental evaluations by ignoring uncertainty of measurements through nondeterministic behavior of software systems (e.g., memory placement, dynamic compilation) [15]. Dealing with non-deterministic behavior of dynamically optimized programming languages, Georges et al [9] summarize methodologies to measure languages like Java, and explain statistical methods to use for performance evaluation. All of these studies expect an as stable as possible environment to run performance experiments on.…”
Section: Related Workmentioning
confidence: 99%