- 20 May, 2016 5 commits
-
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
I don't know what the reason is, but it's tripping up cffi's test suite.
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
Extract the logic from DEFAULT_CLASS_SIMPLE
-
Kevin Modzelewski authored
One small change for numpy performance
-
- 19 May, 2016 21 commits
-
-
Kevin Modzelewski authored
merge the missing merge commits (mostly cosmetic change)
-
Kevin Modzelewski authored
so that it can be used in more places. Looking at pyxl_bench2_10x, most of the calls to PyType_GenericAlloc are from the dict and list iterator classes, which don't use DEFAULT_CLASS_SIMPLE (or DEFAULT_CLASS) since they use the same C++ class with multiple Python classes. So by extracting out the core of that function, it's now usable by those other classes. Also convert some things to DEFAULT_CLASS_SIMPLE while we're at it.
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
- support CPython - don't blow away the checkout each time
-
Kevin Modzelewski authored
Numpy was hitting this a lot I love optimizing things we haven't approached before. This small change improved numpy.test() performance by 20%.
-
Marius Wachtler authored
some minor NumPy fixing
-
Kevin Modzelewski authored
Fix remaining "check refcounting" assertions
-
Boxiang Sun authored
-
Marius Wachtler authored
-
Marius Wachtler authored
-
Marius Wachtler authored
Conflicts: src/codegen/compvars.cpp
-
Boxiang Sun authored
-
Boxiang Sun authored
-
Marius Wachtler authored
Remove numpy submodule
-
Boxiang Sun authored
clone numpy with 1.11.0 tag from github, and adjust the numpy test file.
-
Kevin Modzelewski authored
Some misc performance optimizations
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
They were all in code that is now dead, so I spent some time verifying that and cleaning it up.
-
- 18 May, 2016 13 commits
-
-
Kevin Modzelewski authored
Make rearrangeArgs take a callback instead passing back values
-
Kevin Modzelewski authored
thanks Marius for the tip
-
Kevin Modzelewski authored
add tuple free list and don't update boxed frame on exit when it's not used
-
Kevin Modzelewski authored
My hunch is that code density is more important than avoiding ome of the `if (rewrite_args)` checks. Also add some hacks to get rid of the func-name-getter-as-lambda, so we don't need to templatize on that either. Results of this commit are kind of mixed: django_template3_10x.py 13.6s (2) 13.8s (2) +1.4% sqlalchemy_imperative2_10x.py 18.8s (2) 19.0s (2) +1.2% pyxl_bench2_10x.py 10.7s (2) 10.1s (2) -5.1% geomean 14.0s 13.8s -0.9%
-
Kevin Modzelewski authored
And add an optimization that in the fast paths, we don't incref any args.
-
Kevin Modzelewski authored
This function is complicated because it has so many return values (out-parameters). It also returns a decent amount of information about what the caller has to do after it is done with the args (decref them, decref the rewritten ones, etc), and the contract was getting very complicated. It also had some complicated rules about how the caller had to set up certain input arguments. I also tried adding some optimizations to it, where it would sometimes not incref all of the returned args; I tried continuing the current scheme by passing back some information about which args needed to be decref'd or not. This was really messy and was also a perf hit. So instead, switch it to being callback-based. I think this should clean it up quite a bit and also open up some room for more optimizations. This commit is just a refactor -- it changes the name to rearrangeArgumentsAndCall, which takes a "continuation" callback. For now it just calls rearrangeArguments under the hood.
-
Kevin Modzelewski authored
-
Boxiang Sun authored
-
Marius Wachtler authored
this uses a slightly modified version of cpythons free list. I removed the special handling for the empty tuple and fixed some C/C++ type mismatches.
-
Marius Wachtler authored
-
Marius Wachtler authored
checkAndThrowCAPIException needs to do a 32bit comparison in some cases
-
Marius Wachtler authored
-
Marius Wachtler authored
this should fix a very annoying rarely encountered issue...
-
- 17 May, 2016 1 commit
-
-
Marius Wachtler authored
check return value instead of calling checkAndThrowCAPIException()
-