1. 27 Jul, 2015 2 commits
  2. 26 Jul, 2015 4 commits
  3. 25 Jul, 2015 3 commits
  4. 24 Jul, 2015 3 commits
  5. 23 Jul, 2015 3 commits
  6. 22 Jul, 2015 1 commit
  7. 21 Jul, 2015 3 commits
  8. 06 Jun, 2015 1 commit
  9. 20 Jul, 2015 11 commits
  10. 19 Jul, 2015 1 commit
  11. 18 Jul, 2015 1 commit
  12. 17 Jul, 2015 1 commit
  13. 16 Jul, 2015 1 commit
  14. 15 Jul, 2015 3 commits
  15. 14 Jul, 2015 2 commits
    • Dave Hylands's avatar
    • Damien George's avatar
      py: Improve allocation policy of qstr data. · ade9a052
      Damien George authored
      Previous to this patch all interned strings lived in their own malloc'd
      chunk.  On average this wastes N/2 bytes per interned string, where N is
      the number-of-bytes for a quanta of the memory allocator (16 bytes on 32
      bit archs).
      
      With this patch interned strings are concatenated into the same malloc'd
      chunk when possible.  Such chunks are enlarged inplace when possible,
      and shrunk to fit when a new chunk is needed.
      
      RAM savings with this patch are highly varied, but should always show an
      improvement (unless only 3 or 4 strings are interned).  New version
      typically uses about 70% of previous memory for the qstr data, and can
      lead to savings of around 10% of total memory footprint of a running
      script.
      
      Costs about 120 bytes code size on Thumb2 archs (depends on how many
      calls to gc_realloc are made).
      ade9a052