Skip to content
Non-empty difference lists
Branch: master
Clone or download
Latest commit e371dfa Mar 26, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
bench Add .travis.yml Jun 20, 2017
src/Data/DList Fix #2: semigropoids-5.2.1 has toNonEmpty Jul 31, 2017
tests
.gitignore Minimum cabal-version Jun 20, 2017
.travis.yml Regenerate .travis.yml Mar 12, 2019
CHANGELOG.md
LICENSE 🌅 Jan 12, 2017
README.md 🌅 Jan 12, 2017
Setup.lhs 🌅 Jan 12, 2017
dlist-nonempty.cabal
stack.yaml Unsafe module, docs Jun 21, 2017

README.md

Difference Lists in Haskell

The NonEmpty version of difference lists: list-like type supporting O(1) append ans snoc operations.

This is a fork of a dlist package.

benchmarking append 1000/List
time                 27.66 ms   (27.30 ms .. 28.01 ms)
                     0.999 R²   (0.999 R² .. 1.000 R²)
mean                 28.39 ms   (28.21 ms .. 28.58 ms)
std dev              391.5 μs   (311.7 μs .. 510.3 μs)

benchmarking append 1000/NonEmpty
time                 33.67 ms   (33.01 ms .. 34.27 ms)
                     0.999 R²   (0.999 R² .. 1.000 R²)
mean                 34.07 ms   (33.90 ms .. 34.29 ms)
std dev              419.3 μs   (308.9 μs .. 549.3 μs)

benchmarking append 1000/DList
time                 57.46 μs   (56.95 μs .. 58.12 μs)
                     0.999 R²   (0.998 R² .. 0.999 R²)
mean                 57.98 μs   (57.61 μs .. 58.41 μs)
std dev              1.398 μs   (1.115 μs .. 1.871 μs)
variance introduced by outliers: 22% (moderately inflated)

benchmarking append 1000/NonEmptyDList
time                 90.37 μs   (89.09 μs .. 91.44 μs)
                     0.999 R²   (0.998 R² .. 0.999 R²)
mean                 89.31 μs   (88.61 μs .. 89.96 μs)
std dev              2.244 μs   (1.763 μs .. 2.988 μs)
variance introduced by outliers: 22% (moderately inflated)
You can’t perform that action at this time.