Opened 7 years ago

Closed 7 years ago

#4333 closed task (fixed)

Proposal: Improve Data.IntSet

Reported by: milan Owned by:
Priority: normal Milestone:
Component: Compiler Version: 6.12.3
Keywords: containers, intset Cc:
Operating System: Unknown/Multiple Architecture: Unknown/Multiple
Type of failure: None/Unknown Test Case:
Blocked By: Blocking:
Related Tickets: Differential Rev(s):
Wiki Page:


The Data.Map, Data.Set and Data.IntSet has gone through some enhancements in #4277, #4279, #4280 #4311 and #4312.

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 repository, as well as attached here.

Attachments (1)

containers-intset.patch (28.9 KB) - added by milan 7 years ago.

Download all attachments as: .zip

Change History (2)

Changed 7 years ago by milan

Attachment: containers-intset.patch added

comment:1 Changed 7 years ago by milan

Resolution: fixed
Status: newclosed


Note: See TracTickets for help on using tickets.