1. 18 Aug, 2015 5 commits
    • Kevin Modzelewski's avatar
      Box traceback strings once · 8c667486
      Kevin Modzelewski authored
      It had gotten to the point that a large part of the cost of throwing an
      eception was allocating the std::string's to represent the function and
      filename.
      
      Most of the other strings have already been converted to being represented
      as BoxedString's (ie python strings), so do that conversion here and a few
      more places.
      8c667486
    • Kevin Modzelewski's avatar
      Remove a couple more uses of std::vector · 21257c97
      Kevin Modzelewski authored
      The callee had already but updated to take a smallvector, but
      we were still instantiating it as a std::vector.
      21257c97
    • Kevin Modzelewski's avatar
      Cut out some exceptions-creation overhead · 57077ee1
      Kevin Modzelewski authored
      Call a combined new+init, and don't create an arg tuple just
      to immediately slice into it.
      57077ee1
    • Kevin Modzelewski's avatar
      Use PySequence_Fast for faster *arg unpacking · 220f702e
      Kevin Modzelewski authored
      Much faster than using pyElements into a std::vector<Box*, StlCompatAllocator>.
      
      I think pyElements is pretty good, but the PySequence_Fast approach can beat it
      since we do the entire conversion up-front, and don't pay the dispatching cost
      per iteration.  Plus the STL-compat-allocator is just as expensive as a Python
      list, and most of the time the extra storage isn't needed anyway.
      220f702e
    • Kevin Modzelewski's avatar
      Pass frame-state through to make reraising faster · 7df079cb
      Kevin Modzelewski authored
      Instead of relying on stack unwinding to find it.
      7df079cb
  2. 17 Aug, 2015 8 commits
  3. 16 Aug, 2015 2 commits
  4. 15 Aug, 2015 4 commits
  5. 14 Aug, 2015 19 commits
  6. 13 Aug, 2015 2 commits