[commit: packages/containers] changelog-foldtree, cleaned_bugfix394, master, merge-doc-target, merge-fixes-5.9, merge-restrict-fix-5.8, revert-408-bugfix_394: Speed up IntMap (51e7b00)
git at git.haskell.org
git at git.haskell.org
Mon Apr 17 21:40:42 UTC 2017
- Previous message: [commit: packages/containers] changelog-foldtree, cleaned_bugfix394, master, merge-doc-target, merge-fixes-5.9, merge-restrict-fix-5.8, revert-408-bugfix_394: Merge pull request #213 from treeowl/adjust-maps-faster (cefe44a)
- Next message: [commit: packages/containers] changelog-foldtree, cleaned_bugfix394, master, merge-doc-target, merge-fixes-5.9, merge-restrict-fix-5.8, revert-408-bugfix_394: Merge pull request #219 from treeowl/intmap-binbetter (0abcf6f)
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Repository : ssh://git@git.haskell.org/containers
On branches: changelog-foldtree,cleaned_bugfix394,master,merge-doc-target,merge-fixes-5.9,merge-restrict-fix-5.8,revert-408-bugfix_394
Link : http://git.haskell.org/packages/containers.git/commitdiff/51e7b00716a7ae090094d59afa4a58dfac4b26ef
>---------------------------------------------------------------
commit 51e7b00716a7ae090094d59afa4a58dfac4b26ef
Author: David Feuer <David.Feuer at gmail.com>
Date: Sat May 7 20:54:24 2016 -0400
Speed up IntMap
`delete`, `alter`, `update`, etc., used a `bin` smart
constructor to avoid installing any non-root `Nil`s. Now only
the ones that could have become `Nil` are checked, which is
a good bit cheaper since they're in cache. `adjustWithKey`
was implemented using `updateWithKey`, but in fact it never
needs to worry about `Nil`s, so implementing it directly
eliminates all such checks.
Make `updateLookupWithKey` in `Data.IntMap.Lazy` strict in its
recursive call to avoid essentially useless lazy pair allocation.
>---------------------------------------------------------------
51e7b00716a7ae090094d59afa4a58dfac4b26ef
Data/IntMap/Base.hs | 56 ++++++++++++++++++++++++++++++++++-----------------
Data/IntMap/Strict.hs | 32 ++++++++++++++++++-----------
2 files changed, 58 insertions(+), 30 deletions(-)
Diff suppressed because of size. To see it, use:
git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc 51e7b00716a7ae090094d59afa4a58dfac4b26ef
- Previous message: [commit: packages/containers] changelog-foldtree, cleaned_bugfix394, master, merge-doc-target, merge-fixes-5.9, merge-restrict-fix-5.8, revert-408-bugfix_394: Merge pull request #213 from treeowl/adjust-maps-faster (cefe44a)
- Next message: [commit: packages/containers] changelog-foldtree, cleaned_bugfix394, master, merge-doc-target, merge-fixes-5.9, merge-restrict-fix-5.8, revert-408-bugfix_394: Merge pull request #219 from treeowl/intmap-binbetter (0abcf6f)
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the ghc-commits
mailing list