- 16 Jun, 2015 7 commits
-
-
Kevin Modzelewski authored
cache + reuse 1-length strings
-
Kevin Modzelewski authored
Switch those to just calling 'new BoxedString' instead.
-
Kevin Modzelewski authored
Not sure how much it helps, but it's mostly just a wrapper around new boxedstring. Also, I don't think it needs to be in inline/ any more since we will always box strings during codegen rather than emit calls to boxString.
-
Kevin Modzelewski authored
CPython does this and seems like a good thing to do. Otherwise iterating over a string would cause lots of allocations. One difference between this implementation and cpython's is that cpython doesn't eagerly create them, and so it checks to see if they've been created or not.
-
Kevin Modzelewski authored
Even this is 2x slower
-
Kevin Modzelewski authored
Temporarily disable type speculation
-
Kevin Modzelewski authored
Unfortunately our type speculation strategy has bit-rot over time, to the point that it's not super helpful. Deopt (the flip side of the speculation) also has some bugs in it which I was starting to trigger, so just disable the whole thing for now. Turning it off should just be a temporary measure and I'll look soon into what we need to do to get it back on.
-
- 12 Jun, 2015 5 commits
-
-
Chris Toshok authored
-
Kevin Modzelewski authored
cmake change default build directory, configure script, Fedora support
-
Daniel Agar authored
-pyston build using the copied headers that include the generated pyconfig.h
-
Daniel Agar authored
Conflicts: .travis.yml
-
Kevin Modzelewski authored
New benchmarks
-
- 11 Jun, 2015 1 commit
-
-
Kevin Modzelewski authored
Use BoxedString in codegen
-
- 10 Jun, 2015 11 commits
-
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
Convert to BoxedString much sooner, and have any functions that might need to box a string take a BoxedString. This means that on some paths, we will need to box when previously we didn't, but for callsites that we control we can just intern the string and not have to box again. The much more common case is that we passed in unboxed string data, but then ran into a branch that required boxing. BoxedString shouldn't be that much more costly than std::string, and this should cut down on string allocations. For django-template.py, the number of strings allocated drops from 800k to 525k; for virtualenv_test.py, it goes from 1.25M to 1.0M A couple things made this not 100% mechanical: - taking advantage of places that we could eliminate unbox/rebox pairs - different null-termination assumptions between StringRef and the c api.
-
Chris Toshok authored
-
Chris Toshok authored
-
Chris Toshok authored
-
Chris Toshok authored
-
Kevin Modzelewski authored
Based on what Rudi says he was doing (sorry rudi)
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
Gives you just the top 40 lines. For use in combination with watch_%
-
Kevin Modzelewski authored
Add more external projects to our travis-ci test suite
-
Kevin Modzelewski authored
Use the padding bytes at the end of BoxedString
-
- 09 Jun, 2015 6 commits
-
-
Kevin Modzelewski authored
CPython has this optimization as well, and it should save us an average of 7 bytes per string.
-
Marius Wachtler authored
-
Kevin Modzelewski authored
Some `__future__` import stuff
-
Kevin Modzelewski authored
allocate runtime ics using mmap (with PROT_EXEC)
-
Kevin Modzelewski authored
output stderr/stdout diffs for failed tests
-
Kevin Modzelewski authored
free generator even if the don't exit
-
- 08 Jun, 2015 5 commits
-
-
Chris Toshok authored
also, output both in KEEP_GOING mode if VERBOSE
-
Marius Wachtler authored
-
Chris Toshok authored
-
Chris Toshok authored
-
Kevin Modzelewski authored
Specify all package versions in virtualenv_test
-
- 05 Jun, 2015 5 commits
-
-
Kevin Modzelewski authored
We were doing this for the main packages, but we would get different versions of their dependencies dependending on what the latest version was. Also, add some extra debugging output in the parser in case that issue crops up again.
-
Kevin Modzelewski authored
Try to make weakref4 less flaky
-
Kevin Modzelewski authored
Slightly change generator StopIteration handling
-
Kevin Modzelewski authored
Make multiple copies of all of the objects we expect to get collected, and just assert than any of them get collected.
-
Kevin Modzelewski authored
Unconditionally raise a StopIteration when trying to iterate a finished generator, regardless of what originally stopped it from iterating.
-