1. 27 Jul, 2015 5 commits
    • Kevin Modzelewski's avatar
      Speed up a number of runtime functions · 63ec21c9
      Kevin Modzelewski authored
      callable(), str(), repr(), PySequence_GetItem(),
      and PyObject_HasAttrString()
      
      Mostly by bringing in the CPython versions.
      63ec21c9
    • Kevin Modzelewski's avatar
      Add django_tiny microbenchmark · a6a326e5
      Kevin Modzelewski authored
      a6a326e5
    • Kevin Modzelewski's avatar
      Optimize calling str() and unicode() · 0afbff14
      Kevin Modzelewski authored
      They are tricky since these are types, which means they invoke
      the relatively-complicated constructor logic.  ie str() doesn't
      just call __str__ on the argument: if the result is a subclass
      of str, it calls result.__init__().  Similarly for unicode, except
      unicode is even trickier since it takes some more arguments, one
      of which is "encoding" which will have non-type-based dynamic
      behavior.
      
      I didn't realize that at first and optimized unicode() by exposing an
      inner version of it that takes its arguments in registers, which we
      can take advantage of using our jit-arg-rearrangement capability.
      This means we have to do parts of PyArg_ParseTuple ourselves, so I
      added a PyArg_ParseSingle that runs a single object through the
      arg-conversion code.  PyArg_ParseSingle could be further optimized if
      we want to.  Or rather, if we have functions of the form
      PyArg_ParseSingle_s (which corresponds to the "s" format code) we
      could skip some more of the overhead.
      
      I had to disable most of that once I realized the encoding issue, but
      I left it in since hopefully we will be able to use it again once
      we have some "do some guards after mutations if we know how to resume
      after a failed guard" rewriter support.
      0afbff14
    • Kevin Modzelewski's avatar
      Merge pull request #762 from tjhance/test_tuple_cpython · c42d3395
      Kevin Modzelewski authored
      get cpython/test_tuple.py to pass
      c42d3395
    • Kevin Modzelewski's avatar
      Merge pull request #715 from tjhance/test_iter_cpython · cb0939c6
      Kevin Modzelewski authored
      Get test_iter.py to work
      cb0939c6
  2. 24 Jul, 2015 12 commits
  3. 23 Jul, 2015 23 commits