Author: Matti Picus <[email protected]>
Branch: chameleon
Changeset: r433:e07bc02ab2e8
Date: 2020-01-07 17:41 +0200
http://bitbucket.org/pypy/benchmarks/changeset/e07bc02ab2e8/
Log: fix up runners to rename spitfire -> spitfire2 since it is now much
changed
diff --git a/benchmarks.py b/benchmarks.py
--- a/benchmarks.py
+++ b/benchmarks.py
@@ -113,9 +113,9 @@
globals(), bm_env={'PYTHONPATH':
os.pathsep.join(TWISTED)},
iteration_scaling=iteration_scaling)
-_register_new_bm('spitfire', 'spitfire', globals(),
- extra_args=['--benchmark=spitfire_o4'])
-_register_new_bm('spitfire', 'spitfire_cstringio', globals(),
+_register_new_bm('spitfire', 'spitfire2', globals(),
+ extra_args=['--benchmark=spitfire_o3'])
+_register_new_bm('spitfire', 'spitfire_cstringio2', globals(),
extra_args=['--benchmark=python_cstringio'])
# =========================================================================
diff --git a/own/spitfire.py b/own/spitfire.py
--- a/own/spitfire.py
+++ b/own/spitfire.py
@@ -12,17 +12,12 @@
def relative(*args):
return os.path.join(os.path.dirname(os.path.abspath(__file__)), *args)
-class FakePsyco(object):
- def bind(self, *args, **kwargs):
- pass
-sys.modules["psyco"] = FakePsyco()
-
testdir = relative('..', 'unladen_swallow', 'lib', 'spitfire', 'tests', 'perf')
sys.path.insert(0, testdir)
sys.path.insert(0, relative('..', 'unladen_swallow', 'lib', 'spitfire'))
import bigtable
# bummer, timeit module is stupid
-from bigtable import test_python_cstringio, test_spitfire_o4, test_spitfire
+from bigtable import test_python_cstringio, test_spitfire_o3, test_spitfire
def runtest(n, benchmark):
times = []
@@ -38,9 +33,9 @@
usage="%prog [options]",
description="Test the performance of the spitfire benchmark")
parser.add_option('--benchmark', type="choice",
- choices=['python_cstringio', 'spitfire_o4'],
- default="spitfire_o4",
- help="choose between cstringio and spitfire_o4")
+ choices=['python_cstringio', 'spitfire_o3'],
+ default="spitfire_o3",
+ help="choose between cstringio and spitfire_o3")
util.add_standard_options_to(parser)
options, args = parser.parse_args(sys.argv)
util.run_benchmark(options, options.num_runs, runtest, options.benchmark)
diff --git a/runner.py b/runner.py
--- a/runner.py
+++ b/runner.py
@@ -12,7 +12,7 @@
from saveresults import save
from unladen_swallow import perf
-BENCHMARK_SET = ['richards', 'slowspitfire', 'django',
+BENCHMARK_SET = ['richards', 'spitfire2', 'django',
'html5lib', 'ai']
if sys.version_info[0] < 3:
BENCHMARK_SET += [
diff --git a/unladen_swallow/lib/spitfire/tests/perf/bigtable.py
b/unladen_swallow/lib/spitfire/tests/perf/bigtable.py
--- a/unladen_swallow/lib/spitfire/tests/perf/bigtable.py
+++ b/unladen_swallow/lib/spitfire/tests/perf/bigtable.py
@@ -10,11 +10,18 @@
#
# Author: Jonas Borgström <[email protected]>
+from __future__ import print_function
+
import cgi
import sys
import timeit
-import StringIO
-import cStringIO
+if sys.version_info[0] < 3:
+ import StringIO
+ import cStringIO
+else:
+ import io as StringIO
+ cStringIO = StringIO
+
try:
import genshi
from genshi.builder import tag
@@ -121,7 +128,7 @@
def test_mako():
"""Mako Template"""
data = mako_tmpl.render(table=table)
- #print "mako", len(data)
+ #print("mako", len(data))
if SpitfireTemplate:
import spitfire.compiler.analyzer
@@ -141,37 +148,37 @@
spitfire_src, 'spitfire_tmpl')
spitfire_tmpl_o1 = spitfire.compiler.util.load_template(
- spitfire_src, 'spitfire_tmpl_o1',
spitfire.compiler.analyzer.o1_options,
+ spitfire_src, 'spitfire_tmpl_o1', spitfire.compiler.options.o1_options,
{'enable_filters':enable_filters})
spitfire_tmpl_o2 = spitfire.compiler.util.load_template(
- spitfire_src, 'spitfire_tmpl_o2',
spitfire.compiler.analyzer.o2_options,
+ spitfire_src, 'spitfire_tmpl_o2', spitfire.compiler.options.o2_options,
{'enable_filters':enable_filters})
spitfire_tmpl_o3 = spitfire.compiler.util.load_template(
- spitfire_src, 'spitfire_tmpl_o3',
spitfire.compiler.analyzer.o3_options,
+ spitfire_src, 'spitfire_tmpl_o3', spitfire.compiler.options.o3_options,
{'enable_filters':enable_filters})
def test_spitfire():
"""Spitfire template"""
data = spitfire_tmpl(search_list=[{'table':table}]).main()
- #print "spitfire", len(data)
+ #print("spitfire", len(data))
def test_spitfire_o1():
"""Spitfire template -O1"""
data = spitfire_tmpl_o1(search_list=[{'table':table}]).main()
- #print "spitfire -O1", len(data)
+ #print("spitfire -O1", len(data))
def test_spitfire_o2():
"""Spitfire template -O2"""
data = spitfire_tmpl_o2(search_list=[{'table':table}]).main()
- #print "spitfire -O2", len(data)
+ #print("spitfire -O2", len(data))
def test_spitfire_o3():
"""Spitfire template -O3"""
data = spitfire_tmpl_o3(search_list=[{'table':table}]).main()
- #print "spitfire -O3", len(data)
+ #print("spitfire -O3", len(data))
if CheetahTemplate:
cheetah_src = """<table>
@@ -187,30 +194,30 @@
cheetah_template = CheetahTemplate.Template(cheetah_src,
searchList=[{'table':table}])
# force compile
post = set([k for k, v in sys.modules.iteritems() if v])
- #print post - pre
+ #print(post - pre)
- #print type(cheetah_template)
+ #print(type(cheetah_template))
cheetah_template.respond()
cheetah_template = type(cheetah_template)
def test_cheetah():
"""Cheetah template"""
data = cheetah_template(searchList=[{'table':table}]).respond()
- #print "cheetah", len(data)
+ #print("cheetah", len(data))
if genshi:
def test_genshi():
"""Genshi template"""
stream = genshi_tmpl.generate(table=table)
data = stream.render('html', strip_whitespace=False)
- #print "genshi", len(data)
+ #print("genshi", len(data))
def disabled_test_genshi_text():
"""Genshi text template"""
stream = genshi_text_tmpl.generate(table=table)
- print "test_genshi_text", stream
+ print("test_genshi_text", stream)
data = stream.render('text')
- print "test_genshi_text", 'data', stream
+ print("test_genshi_text", 'data', stream)
def test_genshi_builder():
"""Genshi template + tag builder"""
@@ -305,7 +312,7 @@
write('<table>\n')
for row in table:
write('<tr>\n')
- for col in row.itervalues():
+ for col in row.values():
write('<td>\n')
write('%s' % col)
write('\n</td>\n')
@@ -321,7 +328,7 @@
write('<table>\n')
for row in table:
write('<tr>\n')
- for col in row.itervalues():
+ for col in row.values():
write('<td>\n')
write('%s' % col)
write('\n</td>\n')
@@ -337,7 +344,7 @@
write('<table>\n')
for row in table:
write('<tr>\n')
- for col in row.itervalues():
+ for col in row.values():
write('<td>\n')
write('%s' % col)
write('\n</td>\n')
@@ -369,7 +376,7 @@
result = ' (not installed?)'
else:
result = '%16.2f ms' % (1000 * time)
- print '%-35s %s' % (getattr(sys.modules[__name__], test).__doc__,
result)
+ print('%-35s %s' % (getattr(sys.modules[__name__], test).__doc__,
result))
if __name__ == '__main__':
diff --git a/unladen_swallow/perf.py b/unladen_swallow/perf.py
--- a/unladen_swallow/perf.py
+++ b/unladen_swallow/perf.py
@@ -12,7 +12,7 @@
--help to get a full list of options that can be passed to -b.
Omitting the -b option will result in the default group of benchmarks being run
-This currently consists of: 2to3, django, nbody, slowspitfire, slowpickle,
+This currently consists of: 2to3, django, nbody, spitfire, slowpickle,
slowunpickle, spambayes. Omitting -b is the same as specifying `-b default`.
To run every benchmark perf.py knows about, use `-b all`. To see a full list of
@@ -1036,41 +1036,13 @@
return MeasureGeneric(python, options, bm_path, env, extra_args)
-def MeasureSpitfireWithPsyco(python, options):
- """Use Spitfire to measure Python's performance.
+def BM_Spitfire2(*args, **kwargs):
+ """ Table size was changed in Jan 2020, so the name changed too"""
+ return SimpleBenchmark(MeasureSpitfire, *args, **kwargs)
- Args:
- python: prefix of a command line for the Python binary.
- options: optparse.Values instance.
- Returns:
- (perf_data, mem_usage), where perf_data is a list of floats, each the
- time it took to run the Spitfire test once; mem_usage is a list of
- memory usage samples in kilobytes.
- """
- SPITFIRE_DIR = Relative("lib/spitfire")
-
- psyco_dir = ""
- if not _ComesWithPsyco(python):
- psyco_dir = _BuildPsyco(python)
-
- env_dirs = filter(bool, [SPITFIRE_DIR, psyco_dir])
- spitfire_env = {"PYTHONPATH": os.pathsep.join(env_dirs)}
-
- try:
- return MeasureSpitfire(python, options, spitfire_env)
- finally:
- try:
- shutil.rmtree(psyco_dir)
- except OSError:
- pass
-
-
-def BM_Spitfire(*args, **kwargs):
- return SimpleBenchmark(MeasureSpitfireWithPsyco, *args, **kwargs)
-
-
-def BM_SlowSpitfire(base_python, changed_python, options):
+def BM_SlowSpitfire2(base_python, changed_python, options):
+ """ Table size was changed in Jan 2020, so the name changed too"""
extra_args = ["--disable_psyco"]
spitfire_env = {"PYTHONPATH": Relative("lib/spitfire")}
@@ -1447,7 +1419,7 @@
# If you update the default group, be sure to update the module docstring, too.
# An "all" group which includes every benchmark perf.py knows about is
generated
# automatically.
-BENCH_GROUPS = {"default": ["2to3", "django", "nbody", "slowspitfire",
+BENCH_GROUPS = {"default": ["2to3", "django", "nbody", "spitfire",
"slowpickle", "slowunpickle", "spambayes"],
"startup": ["normal_startup", "startup_nosite"],
"regex": ["regex_v8", "regex_effbot", "regex_compile"],
diff --git a/unladen_swallow/performance/bm_spitfire.py
b/unladen_swallow/performance/bm_spitfire.py
--- a/unladen_swallow/performance/bm_spitfire.py
+++ b/unladen_swallow/performance/bm_spitfire.py
@@ -47,7 +47,7 @@
# conceivably be interesting to stress Spitfire's lower optimization
# levels, we assume no-one will be running a production system with those
# settings.
- spitfire_tmpl_o4 = spitfire.compiler.util.load_template(
+ spitfire_tmpl_o3 = spitfire.compiler.util.load_template(
SPITFIRE_SRC,
"spitfire_tmpl_o3",
spitfire.compiler.options.o3_options,
@@ -57,7 +57,7 @@
# Warm up Spitfire.
zzz = spitfire_tmpl_o4(search_list=[{"table": table}]).main()
- spitfire_tmpl_o4(search_list=[{"table": table}]).main()
+ spitfire_tmpl_o3(search_list=[{"table": table}]).main()
times = []
for _ in xrange(count):
diff --git a/unladen_swallow/test_perf.py b/unladen_swallow/test_perf.py
--- a/unladen_swallow/test_perf.py
+++ b/unladen_swallow/test_perf.py
@@ -114,7 +114,7 @@
# perf.py, no -b option.
should_run = perf.ParseBenchmarksOption("")
self.assertEqual(should_run, set(["2to3", "django", "slowpickle",
- "slowspitfire", "slowunpickle"]))
+ "spitfire", "slowunpickle"]))
# perf.py -b 2to3
should_run = perf.ParseBenchmarksOption("2to3")
@@ -126,7 +126,7 @@
# perf.py -b -2to3
should_run = perf.ParseBenchmarksOption("-2to3")
- self.assertEqual(should_run, set(["django", "slowspitfire",
+ self.assertEqual(should_run, set(["django", "spitfire",
"slowpickle", "slowunpickle"]))
# perf.py -b all
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit