author | igerasim |
Fri, 25 Dec 2015 16:45:15 +0300 | |
changeset 34832 | 46acbee17a0c |
parent 26353 | b5e3b7fbf56d |
permissions | -rw-r--r-- |
2 | 1 |
----------------------------------------------------------------------- |
2 |
Introduction |
|
3 |
----------------------------------------------------------------------- |
|
4 |
||
5 |
J2DBench is a suite of benchmarks with a GUI front end that lets you |
|
6 |
analyze the performance of many Java2D graphical operations. You can |
|
7 |
easily modify the test options, and save them for later runs using |
|
8 |
GUI, or load them in batch mode to allow quick testing on different |
|
9 |
builds. It also provides logging of the result, to make the |
|
10 |
comparison of the collected data easier. |
|
11 |
||
12 |
J2DAnalyzer is J2DBench a results analyzer/comparator which can |
|
13 |
compare the results generated by the J2DBench runs. |
|
14 |
||
15 |
XMLHTMLReporter is an additional tool which can create an html report |
|
16 |
from the results files generated by the J2DBench runs. |
|
17 |
||
18 |
----------------------------------------------------------------------- |
|
19 |
Minimum requirements |
|
20 |
----------------------------------------------------------------------- |
|
21 |
||
26349
137d39d10ffa
8042199: The build of J2DBench via makefile is broken after the JDK-8005402
serb
parents:
2
diff
changeset
|
22 |
The benchmark requires at least jdk1.4 to compile and run. Note that |
137d39d10ffa
8042199: The build of J2DBench via makefile is broken after the JDK-8005402
serb
parents:
2
diff
changeset
|
23 |
source/target is set to 1.6 in the makefile and build.xml, because of |
137d39d10ffa
8042199: The build of J2DBench via makefile is broken after the JDK-8005402
serb
parents:
2
diff
changeset
|
24 |
support in jdk 9 compiler. |
2 | 25 |
|
26 |
----------------------------------------------------------------------- |
|
27 |
How To Compile |
|
28 |
----------------------------------------------------------------------- |
|
29 |
||
30 |
#> cd J2DBench |
|
31 |
||
32 |
The benchmark can be compiled by using either ant: |
|
33 |
||
34 |
#> ant |
|
35 |
||
36 |
or gnumake (assuming there's 'javac' in the path): |
|
37 |
||
38 |
#> gnumake |
|
39 |
||
40 |
The jar files will be generated into J2DBench/dist directory. |
|
41 |
||
42 |
Note that the workspace also contains Netbeans 4.0 project file: |
|
43 |
J2DBench/nbproject/project.xml |
|
44 |
allowing it to be easily imported into Netbeans. |
|
45 |
||
46 |
----------------------------------------------------------------------- |
|
47 |
How To Run J2DBench, J2DAnalyzer, XMLHTMLReporter |
|
48 |
----------------------------------------------------------------------- |
|
49 |
||
50 |
#> ant run |
|
51 |
or |
|
52 |
#> java -jar dist/J2DBench.jar |
|
53 |
||
54 |
To get help page for each of the tools, run: |
|
55 |
#> java -jar dist/J2DBench.jar -help |
|
56 |
#> java -jar dist/J2DAnalyzer.jar -help |
|
57 |
#> java -cp dist/J2DAnalyzer.jar j2dbench.report.XMLHTMLReporter -help |
|
58 |
||
59 |
----------------------------------------------------------------------- |
|
60 |
Using J2DBench GUI to Create Options File |
|
61 |
----------------------------------------------------------------------- |
|
62 |
||
63 |
There are global options, options specific to a group of benchmarks, |
|
64 |
and benchmark-specific options. |
|
65 |
||
66 |
Global options affect all groups of benchmarks, group options only |
|
67 |
affect benchmarks in particular group, and benchmark-specific ones are |
|
68 |
relevant to a single benchmark. |
|
69 |
||
70 |
Examples of important global options: |
|
71 |
Calibration: |
|
72 |
if the "Fixed Number of reps" is set to 0, J2DBench will calibrate |
|
73 |
each individual benchmark, meaning that it will determine how many |
|
74 |
repetitions each benchmark can perform in "Target Test Time", and |
|
75 |
use this number of repetitions for each Test Run. |
|
76 |
||
77 |
If "Fixed Number of reps" is non-0, each benchmark will be run for |
|
78 |
specified number of repetitions. The use of Calibration mode is |
|
79 |
preferable because the time per operation can vary widely among |
|
80 |
the various tests. |
|
81 |
||
82 |
Output Destinations: |
|
83 |
where the benchmarks will render to. |
|
84 |
All selected benchmarks will be repeated for each selected |
|
85 |
destination. |
|
86 |
||
87 |
Example of benchmark group options: |
|
88 |
TextBenchmarks/TextOptions/Graphics |
|
89 |
Text AntiAlias: |
|
90 |
whether to use text antialiasing for text benchmarks |
|
91 |
||
92 |
Example of a benchmark option: |
|
93 |
Graphics Benchmarks/Imaging Benchmarks: |
|
94 |
Image Rendering Sources (for Imaging Benchmarks only): |
|
95 |
the source image types used for testing |
|
96 |
||
97 |
Example of a benchmark: |
|
98 |
Graphics Benchmarks/Imaging Benchmarks/Image Rendering Tests: |
|
99 |
drawImage(img, tx, obs): |
|
100 |
test the Graphics2D's |
|
101 |
drawImage(Image image, AffineTransform tx, ImageObserver obs) |
|
102 |
operation. |
|
103 |
||
104 |
General note: you can chose multiple options in some cases by holding |
|
105 |
Shift or Ctrl key. |
|
106 |
||
107 |
----------------------------------------------------------------------- |
|
108 |
Use Scenario |
|
109 |
----------------------------------------------------------------------- |
|
110 |
||
111 |
Suppose you want to compare rendering performance of the default |
|
112 |
and opengl pipelines. |
|
113 |
||
114 |
Start J2DBench (assuming the current dir is J2DBench's top dir) |
|
115 |
#> java -jar dist/J2DBench.jar |
|
116 |
||
117 |
You can either create and save the option file by selecting desired |
|
118 |
tests and their attributes, or use one of the provided option files in |
|
119 |
options/ directory (for example, default.opt, which is used below). |
|
120 |
||
121 |
Note that it's very easy to create an option file which would take an |
|
122 |
extremely long time to execute the tests, so be be careful when |
|
123 |
choosing the options and benchmarks to run. |
|
124 |
||
125 |
After the options file is created, start J2DBench in batch mode to run |
|
126 |
the benchmarks for the default pipeline: |
|
26349
137d39d10ffa
8042199: The build of J2DBench via makefile is broken after the JDK-8005402
serb
parents:
2
diff
changeset
|
127 |
#> java -jar dist/J2DBench.jar -batch -loadopts options/default.opt \ |
2 | 128 |
-saveres default.res -title "Rendering - Default ppl" \ |
129 |
-desc "Rendering tests with the default pipeline" |
|
130 |
||
131 |
This command will run the benchmarks defined in options/default.opt |
|
132 |
file and save the result in default.res file. |
|
133 |
||
134 |
(You can also run selected tests directly from the GUI mode by hitting |
|
135 |
"Run Tests" in the J2DBench dialog) |
|
136 |
||
137 |
Now run the benchmark with opengl pipeline: |
|
26349
137d39d10ffa
8042199: The build of J2DBench via makefile is broken after the JDK-8005402
serb
parents:
2
diff
changeset
|
138 |
#> java -Dsun.java2d.opengl=True -jar dist/J2DBench.jar -batch \ |
2 | 139 |
-loadopts options/default.opt \ |
140 |
-saveres opengl.res -title "Rendering - OpenGL" \ |
|
141 |
-desc "Rendering tests with OpenGL pipeline" |
|
142 |
||
143 |
Now let's analyze the results using J2DAnalyzer: |
|
26349
137d39d10ffa
8042199: The build of J2DBench via makefile is broken after the JDK-8005402
serb
parents:
2
diff
changeset
|
144 |
#> java -jar dist/J2DAnalyzer.jar default.res opengl.res |
2 | 145 |
|
146 |
Note that you can compare more than two sets of results, see |
|
147 |
J2DAnalyzer's help page. |
|
148 |
||
149 |
You can also generate html pages from the results files using |
|
150 |
j2dbench.report.XMLHTMLReporter class in J2DAnalyzer.jar. Suppose |
|
151 |
generated pages are to be stored in html_results directory. |
|
152 |
||
153 |
First, make sure html_results/testcases directory exists: |
|
154 |
#> mkdir -p html_results/testcases |
|
155 |
||
156 |
Then generate the report: |
|
157 |
#> java -cp J2DAnalyzer.jar j2dbench.report.XMLHTMLReporter \ |
|
158 |
-r html_results -b default.res -t opengl.res |
|
159 |
||
160 |
The html report will be generated in html_results/ directory. |
|
161 |
The index page: |
|
162 |
html_results/Summary_Report.html |