1. 23 Nov, 2009 2 commits
  2. 22 Nov, 2009 1 commit
  3. 21 Nov, 2009 2 commits
  4. 20 Nov, 2009 1 commit
  5. 13 Nov, 2009 1 commit
  6. 12 Nov, 2009 1 commit
  7. 11 Nov, 2009 1 commit
  8. 04 Nov, 2009 2 commits
  9. 03 Nov, 2009 6 commits
  10. 31 Oct, 2009 2 commits
  11. 30 Oct, 2009 5 commits
    • Mark Olesen's avatar
      HashTbl: improve efficiency when deleting many keys and in operator== · a61c03a6
      Mark Olesen authored
      - fix off by one error in erase/increment code
      a61c03a6
    • Mark Olesen's avatar
      HashTbl changes · 946aac50
      Mark Olesen authored
      - iterators store pointers instead of references to the HashTbl.
        This lets us use the default bitwise copy/assignment
      
      - add empty constructor for iterators. It returns the equivalent to end().
        This lets us do this:
            HashTbl<label>::iterator iter;
            // some time later
            iter = find(Value);
      
      - erase(const HashTbl<AnyType, Key, AnyHash>&) is now more generous.
        Only the Key type matters, not the hashing function.
      946aac50
    • Mark Olesen's avatar
      Added HashTbl::shrink() - but it only be useful in particular situations · 1fbcb6e2
      Mark Olesen authored
      - for the hashTableTest3, it seemed to slow things down a bit
      
      loop 0 - Erased 100000 elements (size 2900000 capacity 4194304) 0.31 s
      loop 1 - Erased 100000 elements (size 2800000 capacity 4194304) 0.01 s
      loop 2 - Erased 100000 elements (size 2700000 capacity 4194304) 0 s
      loop 3 - Erased 100000 elements (size 2600000 capacity 4194304) 0 s
      loop 4 - Erased 100000 elements (size 2500000 capacity 4194304) 0.01 s
      loop 5 - Erased 100000 elements (size 2400000 capacity 4194304) 0 s
      loop 6 - Erased 100000 elements (size 2300000 capacity 4194304) 0 s
      loop 7 - Erased 100000 elements (size 2200000 capacity 4194304) 0 s
      loop 8 - Erased 100000 elements (size 2100000 capacity 4194304) 0.01 s
      loop 9 - Erased 100000 elements (size 2000000 capacity 4194304) 0.44 s
      loop 10 - Erased 100000 elements (size 1900000 capacity 4194304) 0.44 s
      loop 11 - Erased 100000 elements (size 1800000 capacity 4194304) 0.39 s
      loop 12 - Erased 100000 elements (size 1700000 capacity 4194304) 0.4 s
      loop 13 - Erased 100000 elements (size 1600000 capacity 2097152) 0.15 s
      loop 14 - Erased 100000 elements (size 1500000 capacity 2097152) 0.01 s
      loop 15 - Erased 100000 elements (size 1400000 capacity 2097152) 0 s
      loop 16 - Erased 100000 elements (size 1300000 capacity 2097152) 0 s
      loop 17 - Erased 100000 elements (size 1200000 capacity 2097152) 0.01 s
      loop 18 - Erased 100000 elements (size 1100000 capacity 2097152) 0 s
      loop 19 - Erased 100000 elements (size 1000000 capacity 2097152) 0.27 s
      loop 20 - Erased 100000 elements (size 900000 capacity 2097152) 0.2 s
      loop 21 - Erased 100000 elements (size 800000 capacity 1048576) 0.1 s
      loop 22 - Erased 100000 elements (size 700000 capacity 1048576) 0 s
      loop 23 - Erased 100000 elements (size 600000 capacity 1048576) 0 s
      loop 24 - Erased 100000 elements (size 500000 capacity 1048576) 0.12 s
      loop 25 - Erased 100000 elements (size 400000 capacity 524288) 0.04 s
      loop 26 - Erased 100000 elements (size 300000 capacity 524288) 0.01 s
      loop 27 - Erased 100000 elements (size 200000 capacity 262144) 0.02 s
      loop 28 - Erased 100000 elements (size 100000 capacity 131072) 0.02 s
      loop 29 - Erased 100000 elements (size 0 capacity 2) 0 s
      1fbcb6e2
    • Mark Olesen's avatar
      HashTbl avoid backward search in erase() · 2c73afb6
      Mark Olesen authored
      - The ideas as discussed in email
      
      - The speedup is really there.
      
      Before
      loop 0 - Erased 100000 elements:   3.82 s
      loop 1 - Erased 100000 elements:   11.45 s
      loop 2 - Erased 100000 elements:   19.46 s
      loop 3 - Erased 100000 elements:   27.73 s
      loop 4 - Erased 100000 elements:   38.74 s
      ^C
      
      After
      loop 0 - Erased 100000 elements (size 2900000 capacity 8388608) 0.01 s
      loop 1 - Erased 100000 elements (size 2800000 capacity 8388608) 0 s
      loop 2 - Erased 100000 elements (size 2700000 capacity 8388608) 0.01 s
      loop 3 - Erased 100000 elements (size 2600000 capacity 8388608) 0 s
      loop 4 - Erased 100000 elements (size 2500000 capacity 8388608) 0 s
      loop 5 - Erased 100000 elements (size 2400000 capacity 8388608) 0 s
      loop 6 - Erased 100000 elements (size 2300000 capacity 8388608) 0 s
      loop 7 - Erased 100000 elements (size 2200000 capacity 8388608) 0 s
      ...
      2c73afb6
    • Mark Olesen's avatar
      added HashTbl as development replacement for HashTable · 55a89e9d
      Mark Olesen authored
      - rename to HashTable later when it is considered stable
      55a89e9d
  12. 27 Oct, 2009 1 commit
  13. 26 Oct, 2009 10 commits
  14. 23 Oct, 2009 1 commit
  15. 22 Oct, 2009 1 commit
  16. 21 Oct, 2009 1 commit
  17. 20 Oct, 2009 2 commits