1. 23 Nov, 2009 1 commit
  2. 20 Nov, 2009 1 commit
  3. 12 Nov, 2009 1 commit
  4. 04 Nov, 2009 2 commits
  5. 03 Nov, 2009 4 commits
  6. 31 Oct, 2009 2 commits
  7. 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
  8. 26 Oct, 2009 1 commit
  9. 13 Aug, 2009 1 commit
  10. 10 Aug, 2009 1 commit
  11. 06 Aug, 2009 1 commit
  12. 23 Jul, 2009 2 commits
  13. 25 Jun, 2009 1 commit
  14. 23 Jun, 2009 1 commit
  15. 22 Jun, 2009 2 commits
  16. 18 Jun, 2009 1 commit
  17. 19 May, 2009 1 commit
    • Mark Olesen's avatar
      HashTable minor iterator issues · 1d2a94c3
      Mark Olesen authored
      - made const_iterator::operator* and const_iterator::operator() const only
      - added const versions of iterator::operator* and iterator::operator()
      1d2a94c3
  18. 18 May, 2009 1 commit
    • Mark Olesen's avatar
      introduce readList<T> function · a0a9cd33
      Mark Olesen authored
      - Read a bracket-delimited list, or handle a single value as list of size 1.
        Mostly useful for handling command-line arguments.
        eg,
            if (args.options().found("patches"))
            {
                patches = readList<word>(IStringStream(args.options()["patches"])());
            }
        can handle both of these:
            -patches  patch0
            -patches \( patch1 patch2 patch3 \)
      a0a9cd33
  19. 27 Apr, 2009 1 commit
    • Mark Olesen's avatar
      consistency update · 48247a3d
      Mark Olesen authored
      - DynamicList gets append methods as per List
      - misc cosmetic changes
      48247a3d
  20. 22 Apr, 2009 1 commit
  21. 21 Apr, 2009 1 commit
  22. 16 Mar, 2009 2 commits
  23. 12 Mar, 2009 3 commits
  24. 10 Mar, 2009 1 commit
  25. 04 Mar, 2009 2 commits