1. 14 Dec, 2012 3 commits
  2. 13 Dec, 2012 1 commit
    • ian@well-typed.com's avatar
      Make FastBytes a synonym for ByteString · 7651b679
      ian@well-typed.com authored
      A step on the way to getting rid of FastBytes
      
      slow nofib Compile times look like:
          -1 s.d.   -2.4%
          +1 s.d.   +3.4%
          Average   +0.4%
      but looking at the times for the longer-running compilations I think the
      change is just noise.
      7651b679
  3. 12 Dec, 2012 1 commit
  4. 20 Jul, 2012 1 commit
  5. 15 Jul, 2012 3 commits
  6. 14 Jul, 2012 5 commits
    • Ian Lynagh's avatar
      Small refactoring · 2b44d34b
      Ian Lynagh authored
      2b44d34b
    • Ian Lynagh's avatar
      Add a separate FastZString type · 509d2ad2
      Ian Lynagh authored
      FastStrings are now always UTF8-encoded.
      
      There's no StringTable for FastZString, but I don't think one is needed.
      We only ever make a FastZString by running zEncodeFS on a FastString,
      and the FastStrings are shared via the FastString StringTable, so we get
      the same FastZString from the IORef.
      509d2ad2
    • Ian Lynagh's avatar
      Redefine appendFS in terms of appendFB · 2f01debc
      Ian Lynagh authored
      I think the old definition had a bug, although it probably never
      actually bit us: It used lengthFS to work out how large the arguments
      where, but lengthFS returns the number of characters, not bytes.
      2f01debc
    • Ian Lynagh's avatar
      3248fd92
    • Ian Lynagh's avatar
      Implement FastBytes, and use it for MachStr · 7ae1bec5
      Ian Lynagh authored
      This is a first step on the way to refactoring the FastString type.
      
      FastBytes currently has no unique, mainly because there isn't currently
      a nice way to produce them in Binary.
      
      Also, we don't currently do the "Dictionary" thing with FastBytes in
      Binary. I'm not sure whether this is important.
      
      We can change both decisions later, but in the meantime this gets the
      refactoring underway.
      7ae1bec5
  7. 16 Jun, 2012 2 commits
  8. 25 Aug, 2011 1 commit
  9. 18 Jun, 2011 5 commits
  10. 15 Dec, 2010 1 commit
  11. 12 Nov, 2010 1 commit
  12. 09 Sep, 2010 1 commit
  13. 30 Mar, 2010 1 commit
  14. 27 Feb, 2010 1 commit
  15. 31 Dec, 2009 1 commit
    • Simon Marlow's avatar
      Rolling back: Make FastString thread-safe. · 479b0241
      Simon Marlow authored
          
      This patch was the cause of the compile-time performance regression in
      #3796.  My guess is that it is due to the use of unsafePerformIO which
      traverses the stack up to the first update frame, and perhaps we have
      a deep stack when reading the dictionary from a .hi file.  In any
      case, since we're not relying on thread safety for FastStrings, I
      think the safest thing to do is back this out until we can investigate
      further.
      479b0241
  16. 24 Aug, 2009 1 commit
    • Thomas Schilling's avatar
      Make FastString thread-safe. · 738f7078
      Thomas Schilling authored
        
      This is needed both for per-session parallelism and for allowing
      multiple concurrent sessions in the same process.  With the help of
      atomicModifyIORef and unsafePerformIO it is also quite fast--an MVar
      would most likely be slower.  On a full compilation of Cabal's head
      branch it was about 1-2 percent slower, but then overall compilation
      times varied by about 4 percent, so I think it's worth it.
      738f7078
  17. 29 May, 2009 1 commit
  18. 24 Apr, 2009 1 commit
  19. 31 Jul, 2008 1 commit
  20. 16 Jul, 2008 1 commit
  21. 10 Jul, 2008 1 commit
  22. 20 Jun, 2008 1 commit
  23. 22 Apr, 2008 1 commit
  24. 12 Apr, 2008 1 commit
  25. 29 Mar, 2008 1 commit
  26. 18 Feb, 2008 2 commits