diff options
Diffstat (limited to 'timings/Java')
-rw-r--r-- | timings/Java/SConstruct | 25 | ||||
-rw-r--r-- | timings/Java/TimeSCons-run.py | 55 | ||||
-rw-r--r-- | timings/Java/config.js | 3 |
3 files changed, 83 insertions, 0 deletions
diff --git a/timings/Java/SConstruct b/timings/Java/SConstruct new file mode 100644 index 0000000..6294562 --- /dev/null +++ b/timings/Java/SConstruct @@ -0,0 +1,25 @@ +# +# __COPYRIGHT__ +# +# Permission is hereby granted, free of charge, to any person obtaining +# a copy of this software and associated documentation files (the +# "Software"), to deal in the Software without restriction, including +# without limitation the rights to use, copy, modify, merge, publish, +# distribute, sublicense, and/or sell copies of the Software, and to +# permit persons to whom the Software is furnished to do so, subject to +# the following conditions: +# +# The above copyright notice and this permission notice shall be included +# in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +# KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE +# WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +# + +env = Environment() +env.Java('classes', 'src') diff --git a/timings/Java/TimeSCons-run.py b/timings/Java/TimeSCons-run.py new file mode 100644 index 0000000..9414d57 --- /dev/null +++ b/timings/Java/TimeSCons-run.py @@ -0,0 +1,55 @@ +# +# __COPYRIGHT__ +# +# Permission is hereby granted, free of charge, to any person obtaining +# a copy of this software and associated documentation files (the +# "Software"), to deal in the Software without restriction, including +# without limitation the rights to use, copy, modify, merge, publish, +# distribute, sublicense, and/or sell copies of the Software, and to +# permit persons to whom the Software is furnished to do so, subject to +# the following conditions: +# +# The above copyright notice and this permission notice shall be included +# in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +# KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE +# WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +# + +""" +This configuration times simple Java compilation. + +We create $JAVA_COUNT on-disk Java files in a 'src' subdirectory, +and the SConstruct file builds them. That's it. +""" + +import TestSCons + +# Full-build time of just under 10 seconds on ubuntu-timings slave, +# as determined by bin/calibrate.py on 21 May 2010: +# +# run 1: 14.564: JAVA_COUNT=100 +# run 2: 9.692: JAVA_COUNT=68 +# run 3: 9.654: JAVA_COUNT=68 +# run 4: 9.635: JAVA_COUNT=68 + +test = TestSCons.TimeSCons(variables={'JAVA_COUNT':68}) + +test.subdir('src') + +contents = """\ +package src; +public class j%04d {} +""" + +for d in range(test.variables['JAVA_COUNT']): + test.write(['src', 'j%04d.java' % d], contents % d) + +test.main() + +test.pass_test() diff --git a/timings/Java/config.js b/timings/Java/config.js new file mode 100644 index 0000000..c0d688e --- /dev/null +++ b/timings/Java/config.js @@ -0,0 +1,3 @@ +var Config = { + 'title': "timings/Java", +}; |