Skip to content

Conversation

@nevans
Copy link
Collaborator

@nevans nevans commented Dec 8, 2025

This both abstracts the comparison, making it simpler to replace with another data structure, and improves performance a little bit (by not allocating a new comparison object each time).

Comparison:
                            empty
 using FULL_SET_DATA:  18144272.7 i/s
             v0.5.12:   7299127.9 i/s - 2.49x  slower
0.6.0.dev.g497b6c7c7:   6887110.4 i/s - 2.63x  slower

                             full
 using FULL_SET_DATA:   1842405.4 i/s
             v0.5.12:   1733075.9 i/s - 1.06x  slower
0.6.0.dev.g497b6c7c7:   1624744.9 i/s - 1.13x  slower

                      random data
 using FULL_SET_DATA:   7554952.4 i/s
0.6.0.dev.g497b6c7c7:   4376702.4 i/s - 1.73x  slower
             v0.5.12:   4361266.1 i/s - 1.73x  slower

This both abstracts the comparison, making it simpler to replace with
another data structure, and improves performance a little bit (by not
allocating a new comparison object each time).

```
Comparison:
                            empty
 using FULL_SET_DATA:  18144272.7 i/s
             v0.5.12:   7299127.9 i/s - 2.49x  slower
0.6.0.dev.g497b6c7c7:   6887110.4 i/s - 2.63x  slower

                             full
 using FULL_SET_DATA:   1842405.4 i/s
             v0.5.12:   1733075.9 i/s - 1.06x  slower
0.6.0.dev.g497b6c7c7:   1624744.9 i/s - 1.13x  slower

                      random data
 using FULL_SET_DATA:   7554952.4 i/s
0.6.0.dev.g497b6c7c7:   4376702.4 i/s - 1.73x  slower
             v0.5.12:   4361266.1 i/s - 1.73x  slower
```
@nevans nevans added the performance related to CPU use, memory use, latency, etc label Dec 8, 2025
@nevans nevans merged commit a228ee1 into master Dec 8, 2025
32 checks passed
@nevans nevans deleted the sequence_set/faster-fullp branch December 8, 2025 05:42
@nevans nevans added the sequence-set Any code the IMAP `sequence-set` data type or grammar rule, especially the SequenceSet class. label Dec 10, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

performance related to CPU use, memory use, latency, etc sequence-set Any code the IMAP `sequence-set` data type or grammar rule, especially the SequenceSet class.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants