Performance improvement to remove by making it tail call optimized.
Performance improvement to updateAt by only computing list head when necessary.
groupsOf and greedyGroupsOf are now tail call optimized, making them stack safe, but unfortunately slightly slower (small lists and groups ~20% slower).
Performance improvement to isPermutationOf by making helper functions top level, not currying functions, and putting most common case branches first.
8.5.1
New isPermutationOf implemntation in 8.5.0 did not always give the correct output. In 8.5.1 a new implementation that is both performance and correct is used.
8.5.0
unique and uniqueBy functions no longer requires comparable input arguments. This change increased performance for lists sized 0-100 elements by about 40% but decreases performance for lists sized >200 by about 35%. Seems like a worthy trade off.
isPermutationOf is vastly more performant. @lue-bird 's benchmarks show cases of being 141,000% more performant.
New reverseRange, a more performant combination of reverse and range.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps elm-community/list-extra from 8.2.4 to 8.5.2.
Changelog
Sourced from elm-community/list-extra's changelog.
Commits
2e70e94
Bumping versionebab60d
isPermutationOf performance increase (#155)4769635
Make groupsOf and greedyGroupsOf fn families tail-recursive (#157)5cb025f
updateAt: Avoid computing head when unnecessary (#158)e2f2dd2
Make remove tail-call optimized (#159)e477a11
isPermutationOf: Add an edge-case the fuzz test missed (#154)6d76a4b
Fuzz test for isPermutationOf0dc9c30
Bumping Elm version7f4b3c1
Use more performant implementation of isPermutationOf that also gives correct...ce62f3d
Made some stylistic changes to the ChangeLog textDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)