Proposal: Improve Data.IntSet
The Data.Map, Data.Set and Data.!IntSet has gone through some enhancements in #4277 (closed), #4279 (closed), #4280 (closed) #4311 (closed) and #4312 (closed).
This patch performs these tasks on Data.!IntSet:
- Split the tests from Data.!IntSet module to tests/intset-properties.hs
- Add a Criterion-based benchmark for Data.!IntSet
- Use worker/wrapper transformation on member, insert, insertR and delete.
The performance is nearly unmodified, the INLINE pragmas were not added, as the code is already specialized to Ints (which is not the case int Data.Map and Data.Set, where inlining can make specific Ord instances to be used).
The patches are in http://fox.auryn.cz/darcs/containers repository, as well as attached here.
Trac metadata
Trac field | Value |
---|---|
Version | 6.12.3 |
Type | Task |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | Compiler |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | |
Operating system | |
Architecture |