[commit: packages/containers] cleaned_bugfix394, master, merge-doc-target, merge-fixes-5.9, merge-restrict-fix-5.8, revert-408-bugfix_394: Note Data.Sequence performance improvements (ee0fcab)

git at git.haskell.org git at git.haskell.org
Mon Apr 17 21:41:14 UTC 2017


Repository : ssh://git@git.haskell.org/containers

On branches: 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/ee0fcabb971cb60f473e0684fcd702e885af018f

>---------------------------------------------------------------

commit ee0fcabb971cb60f473e0684fcd702e885af018f
Author: David Feuer <David.Feuer at gmail.com>
Date:   Thu May 19 20:19:28 2016 -0400

    Note Data.Sequence performance improvements


>---------------------------------------------------------------

ee0fcabb971cb60f473e0684fcd702e885af018f
 changelog.md | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/changelog.md b/changelog.md
index b13b131..f054005 100644
--- a/changelog.md
+++ b/changelog.md
@@ -23,6 +23,11 @@
 
   * Slightly optimize `replicateA` and `traverse` for `Data.Sequence`.
   
+  * Substantially speed up `splitAt` and (consequently) `zipWith` for
+   `Data.Sequence` by building the result sequences eagerly. The improvements
+    are greatest for small sequences, but meaningful even for long ones.
+    Reimplement `take` and `drop` to avoid building and then discarding trees.
+
   * Speed up `adjust` for `Data.Map`.
 
   * Remove non-essential laziness in `Data.Map.Lazy` implementation.



More information about the ghc-commits mailing list