1. 12 May, 2015 8 commits
  2. 11 May, 2015 13 commits
  3. 10 May, 2015 4 commits
  4. 09 May, 2015 9 commits
  5. 08 May, 2015 6 commits
    • Kevin Modzelewski's avatar
      Add new "SINGLETON" hidden class type · 4ca839f9
      Kevin Modzelewski authored
      The storage strategy per-object is the same as NORMAL, but instead of having
      immutable chains of hidden classes so that we can share them between instances,
      a SINGLETON hcls is unique to the single object that it is for.  This means
      that it can be mutable.
      
      This has the advantage that we don't have to track all the parents
      of the hidden class.  This is especially helpful since the cases that
      it's used for (Python classes and modules) tend to have a large number
      of attributes (>100 not uncommon).
      
      We could also use the DICT_BACKED strategy for those cases, but compared to
      DICT_BACKED, SINGLETON should have much better lookup performance since
      it is patchpoint-compatible.  Adding new attributes is probably slower,
      and deleting attributes is probably much slower, but I think those are
      hopefully rare.
      
      This cuts non-jit 'import pip' memory by 15%, from 113MB to 98MB.
      4ca839f9
    • Kevin Modzelewski's avatar
      Fast-path PyDict_GetItem · 0d936939
      Kevin Modzelewski authored
      Not only does this improve perfomance, but it somehow improves performance
      consistency as well.
      0d936939
    • Marius Wachtler's avatar
      Add support for string interning · 217c098f
      Marius Wachtler authored
      we could use this in much more places if performance and memory benchmarking shows it's an improvement.
      217c098f
    • Marius Wachtler's avatar
    • Kevin Modzelewski's avatar
      Merge pull request #499 from kmod/sqlalchemy · 9030ec59
      Kevin Modzelewski authored
      import with globals
      9030ec59
    • Kevin Modzelewski's avatar
      Add experimental attach-gdb-on-segfault handler · bd33badc
      Kevin Modzelewski authored
      It's a little bit complicated due to the fact that
      gdb has to be the parent so that it can have the permissions
      to ptrace the process that segfaults.
      bd33badc