Permalink
Commits on Apr 28, 2014
  1. Improve cache contentation benchmark

     - also allow setting the number of lookups
     - use the same sequence of operations for all threads
    committed Apr 28, 2014
Commits on Apr 26, 2014
  1. Add thread contention on IntMap-update benchmark

    - Best solution: atomicModifyIORefCAS from 'atomic-primops'
    committed Apr 26, 2014
  2. Benchmark HashPSQ

    - lookup performacne 3x slower than HashMap, 10% slower than Map
    - minView 3x faster than GHC_PSQ
    - lookup 1.15x faster than GHC_PSQ
    - insert of non-existent keys 3x faster than GHC_PSQ
    - insert of existent keys 1.17x faster than GHC_PSQ
    committed Apr 25, 2014
Commits on Apr 25, 2014
Commits on Apr 24, 2014
  1. .gitignore benchmark executables

    committed Apr 24, 2014
Commits on Apr 23, 2014
  1. Compare performance to specialized GHC.Events.PSQ

    The new 'IntPSQ' is 25% faster on lookups and about 3x faster on inserts.
    Sweet :-)
    committed Apr 23, 2014
Commits on Apr 22, 2014
  1. Implement 'map' for IntPSQ

    committed Apr 22, 2014
Commits on Apr 20, 2014
  1. Ran first benchmarks

    - lookup slightly slower
    - insert, map, fromList slightly faster
    committed Apr 20, 2014
Commits on Apr 19, 2014
  1. Implement draft of a more compact IntMap

    The trick is to store keys in inner nodes and use them instead of the prefix
    to store the prefix that is shared by all keys at this node and the nodes
    below. Getting rid of the prefix and one level of leaf-nodes reduces the
    storage overhead from about 6 words per node to only about 2.5 words per node.
    The inner nodes are selected such that they have the smallest key of all the
    nodes sharing the prefix. This is necessary to still get an efficient
    `toAscList` and it has the nice benefit that findMin becomes O(1).
    
    I have not done any benchmarking yet, but I expect this structure as fast as
    the existing IntMap's, as we're doing less allocation, but a bit more
    operations per node.
    committed Apr 19, 2014
Commits on Mar 14, 2014
  1. Bump version number to 0.5.5.1

    Fixed a typo in an #if guard that made Set get the wrong role
    annotation.
    tibbe committed Mar 14, 2014
  2. Fix a typo in GHC #if guard

    tibbe committed Mar 14, 2014
Commits on Mar 13, 2014
  1. Bump version number to 0.5.5.0

    Two new role annotations were added.
    tibbe committed Mar 13, 2014
  2. Add role annotations to Map and Set.

    Richard Eisenberg committed with tibbe Mar 13, 2014
Commits on Feb 21, 2014
  1. Merge pull request #38 from kardboardb/master

    Add a README with instructions for contributors
    foxik committed Feb 21, 2014
Commits on Feb 20, 2014
Commits on Jan 16, 2014
  1. Bump version number to 0.5.4.0

    splitRoot and several instances were added.
    tibbe committed Jan 16, 2014
Commits on Dec 4, 2013
  1. Fix and reinstate the recently commented tests.

    The not working tests were using the join function which we renamed to
    link because of Applicative being introduced to Prelude. Nevertheless,
    I forgot to update the tests. Fixing now.
    foxik committed Dec 4, 2013
  2. Merge pull request #35 from rrnewton/splittable

    Add splitRoot function for Map, Set, IntMap, IntSet.
    foxik committed Dec 4, 2013