Skip to content
Snippets Groups Projects
  1. Nov 03, 2009
    • Mark Olesen's avatar
      HashTbl: change allocation of end iterators · 39159a92
      Mark Olesen authored
      - the end iterators and canonicalSize are independent of the templated
        parameters, so move them to HashTblCore
      
      - this avoid allocating separate end iterator at all.
      
        end(), cend() return a iteratorEnd.
        iterator == iteratorEnd just checks for non-NULL pointer on iterator.
        The compiler should optimize most of it away.
      39159a92
  2. Oct 31, 2009
  3. Oct 30, 2009
    • 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
  4. Oct 22, 2009
  5. Oct 19, 2009
  6. Oct 18, 2009
    • Mark Olesen's avatar
      blockMesh reader fix, start refactoring of PV3Readers · 1ef88a2a
      Mark Olesen authored
      - apply scaleFactor (eg, mm->m) in PV3 reader - this looks better when
        overlaying with other objects
      
      - stop segfault when paraview exits without deleting readers first
      1ef88a2a
    • Mark Olesen's avatar
      Cleanup/fixup paraview readers · c57262c2
      Mark Olesen authored
      - remove patch/point text labels upon deletion
      
      - combined client/server plugin instead of separate .so files
        first experiment with adding panel decorations
      
      - directory reorganization
      c57262c2
  7. Oct 13, 2009
  8. Oct 12, 2009
  9. Oct 10, 2009
  10. Oct 09, 2009
  11. Oct 08, 2009
  12. Oct 07, 2009