[pypy-commit] pypy remove-objspace-options: remove objspace.std.withrangelist option, just use objspace.std.withliststrategies
cfbolz
pypy.commits at gmail.com
Thu Apr 21 12:36:01 EDT 2016
Author: Carl Friedrich Bolz <cfbolz at gmx.de>
Branch: remove-objspace-options
Changeset: r83807:f309bca27c4f
Date: 2016-04-21 18:16 +0300
http://bitbucket.org/pypy/pypy/changeset/f309bca27c4f/
Log: remove objspace.std.withrangelist option, just use
objspace.std.withliststrategies
diff --git a/pypy/config/pypyoption.py b/pypy/config/pypyoption.py
--- a/pypy/config/pypyoption.py
+++ b/pypy/config/pypyoption.py
@@ -229,11 +229,6 @@
("objspace.std.withtypeversion", True),
]),
- BoolOption("withrangelist",
- "enable special range list implementation that does not "
- "actually create the full list until the resulting "
- "list is mutated",
- default=False),
BoolOption("withliststrategies",
"enable optimized ways to store lists of primitives ",
default=True),
@@ -296,7 +291,6 @@
"""
# all the good optimizations for PyPy should be listed here
if level in ['2', '3', 'jit']:
- config.objspace.std.suggest(withrangelist=True)
config.objspace.std.suggest(withmethodcache=True)
config.objspace.std.suggest(withprebuiltchar=True)
config.objspace.std.suggest(intshortcut=True)
@@ -317,7 +311,7 @@
# memory-saving optimizations
if level == 'mem':
config.objspace.std.suggest(withprebuiltint=True)
- config.objspace.std.suggest(withrangelist=True)
+ config.objspace.std.suggest(withliststrategies=True)
config.objspace.std.suggest(withprebuiltchar=True)
config.objspace.std.suggest(withmapdict=True)
if not IS_64_BITS:
diff --git a/pypy/doc/config/objspace.std.withrangelist.txt b/pypy/doc/config/objspace.std.withrangelist.txt
deleted file mode 100644
--- a/pypy/doc/config/objspace.std.withrangelist.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-Enable "range list" objects. They are an additional implementation of the Python
-``list`` type, indistinguishable for the normal user. Whenever the ``range``
-builtin is called, an range list is returned. As long as this list is not
-mutated (and for example only iterated over), it uses only enough memory to
-store the start, stop and step of the range. This makes using ``range`` as
-efficient as ``xrange``, as long as the result is only used in a ``for``-loop.
-
-See the section in `Standard Interpreter Optimizations`_ for more details.
-
-.. _`Standard Interpreter Optimizations`: ../interpreter-optimizations.html#range-lists
-
diff --git a/pypy/module/__builtin__/functional.py b/pypy/module/__builtin__/functional.py
--- a/pypy/module/__builtin__/functional.py
+++ b/pypy/module/__builtin__/functional.py
@@ -87,7 +87,7 @@
howmany = get_len_of_range(space, start, stop, step)
- if space.config.objspace.std.withrangelist:
+ if space.config.objspace.std.withliststrategies:
return range_withspecialized_implementation(space, start,
step, howmany)
res_w = [None] * howmany
@@ -99,7 +99,7 @@
def range_withspecialized_implementation(space, start, step, length):
- assert space.config.objspace.std.withrangelist
+ assert space.config.objspace.std.withliststrategies
from pypy.objspace.std.listobject import make_range_list
return make_range_list(space, start, step, length)
diff --git a/pypy/objspace/std/test/test_listobject.py b/pypy/objspace/std/test/test_listobject.py
--- a/pypy/objspace/std/test/test_listobject.py
+++ b/pypy/objspace/std/test/test_listobject.py
@@ -1590,20 +1590,13 @@
assert L3.index(-0.0, i) == i
-class AppTestListObjectWithRangeList(AppTestListObject):
- """Run the list object tests with range lists enabled. Tests should go in
- AppTestListObject so they can be run -A against CPython as well.
- """
- spaceconfig = {"objspace.std.withrangelist": True}
-
-
class AppTestRangeListForcing:
"""Tests for range lists that test forcing. Regular tests should go in
AppTestListObject so they can be run -A against CPython as well. Separate
from AppTestListObjectWithRangeList so we don't silently overwrite tests
with the same names.
"""
- spaceconfig = {"objspace.std.withrangelist": True}
+ spaceconfig = {"objspace.std.withliststrategies": True}
def setup_class(cls):
if cls.runappdirect:
More information about the pypy-commit
mailing list