JDK-6354112 : increase compiler optimization level for libjpeg to improve runtime performance
Type:Bug
Component:client-libs
Sub-Component:javax.imageio
Affected Version:5.0
Priority:P4
Status:Resolved
Resolution:Fixed
OS:solaris_9
CPU:generic
Submitted:2005-11-22
Updated:2008-02-05
Resolved:2005-12-05
The Version table provides details related to the release that this issue/RFE will be addressed.
Unresolved : Release in which this issue/RFE will be addressed. Resolved: Release in which this issue/RFE has been resolved. Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.
This request is similar to that in 6350086: libjpeg in the JDK is built with
default compiler optimization flags. By increasing it to a higher level, some
tests which exercise the native IJG JPEG libraries can run a few percent faster.
EVALUATION
As per description. If we move all the way up to CC_HIGHEST_OPT, we get a
reasonable boost in performance (esp. on Windows) at the cost of a slight increase
in library size (on windows-i586, jpeg.dll goes from 122880 bytes to 147456).
For example, here are some J2DBench test results taken on 2x 2.8 GHz P4, 1GB RAM,
-client, -Xms256M -Xmx512M:
imageio.input.image.imageio.reader.tests.read,imageio.opts.size=1000:
base: 18010.29159 (var=0.5%) (100.0%)
test: 19841.72496 (var=0.72%) (110.17%)
imageio.input.image.imageio.reader.tests.read,imageio.opts.size=20:
base: 1498.279479 (var=0.17%) (100.0%)
test: 1535.490456 (var=0.48%) (102.48%)
imageio.input.image.imageio.reader.tests.read,imageio.opts.size=4000:
base: 17174.29223 (var=3.21%) (100.0%)
test: 19120.96667 (var=0.41%) (111.33%)
Similar gains are seen for the JPEGCodec and Toolkit tests (since they all share
the same native library, jpeg.dll).