Details
Diff Detail
- Repository
- rHG Mercurial
- Lint
Lint Skipped - Unit
Unit Tests Skipped
Event Timeline
Although this is definitely better for the clone case. intbitset does not seem to implement segmented bitsets so the memory usage could in theory be worse for other cases.
mercurial/localrepo.py | ||
---|---|---|
1283 | It's still worthwhile to have set() as a fallback. So the code runs in pure python or pypy environment |
Although this is definitely better for the clone case. intbitset does not seem to implement segmented bitsets so the memory usage could in theory be worse for other cases.
Perhaps. And if we need to iterate a sparse bitset, the performance would
be way worse.
Like I said, this is primarily a proof of concept. I'm still playing with different approaches and I don't think intbitset is a good fit for other reasons, but it worked the best from the various pre-existing implementations.
Ah, okay. I've added [PoC] to the subject so this won't be queued by mistake.
FWIW, we generally don't move codes to C unless there is significant improvement.
Obsoleted by range based representation, which often works even better and doesn't depend on C.
It's still worthwhile to have set() as a fallback. So the code runs in pure python or pypy environment