Skip to content

Conversation

@kmod
Copy link
Collaborator

@kmod kmod commented Jul 18, 2015

Our list object format was pretty close to CPython's -- we had two fields flipped, and I guess some extra padding from an empty structure. Fixing that allows C API code to use the PyList macros for direct field access, which can significantly speed up list-heavy benchmarks. which apparently none of ours are:

       django_template.py             3.6s (2)             3.7s (2)  +0.6%
            pyxl_bench.py             3.4s (2)             3.4s (4)  +0.2%
sqlalchemy_imperative2.py             4.3s (2)             4.3s (2)  -0.6%
                  geomean                 3.8s                 3.8s  +0.1%

So no win, but I think it's an improvement so I'm going to merge it in.

kmod added 2 commits July 18, 2015 03:40
They're not used any more, and even though they are
empty NopLocks, they change the struct structure.
well, except that two fields were swapped, and there is an
extra struct wrapper in there.  But with some small changes
we can now let capi code use the list macros for faster list
manipulation.
kmod added a commit that referenced this pull request Jul 19, 2015
@kmod kmod merged commit aba975d into pyston:master Jul 19, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant