Opened 4 years ago

Closed 4 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 Difficulty:
Test Case: Blocked By:
Blocking: Related Tickets:

Description

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 http://fox.auryn.cz/darcs/containers repository, as well as attached here.

Attachments (1)

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

Download all attachments as: .zip

Change History (2)

Changed 4 years ago by milan

comment:1 Changed 4 years ago by milan

  • Resolution set to fixed
  • Status changed from new to closed

Applied.

Note: See TracTickets for help on using tickets.