• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

devnied / Bit-lib4j / #149

30 Aug 2026 01:10PM UTC coverage: 99.282% (-0.7%) from 100.0%
#149

push

devnied
Speed up the bit-level hot paths (behaviour unchanged)

getNextLong reads whole bytes at a time instead of masking each byte,
setNextByte writes a shorter value as two consecutive fields instead of
building a padded copy, its unaligned loop stores each destination byte
once instead of two read-modify-writes, and setNextValue stores a byte
directly when it lies entirely inside the field.

getNextLong(64) 18.1 -> 3.7 ns, a 64-byte unaligned setNextByte 365 ->
14 ns, a short value padded before 4.9 -> 3.4 ns without allocating.
setNextByte drops from 519 to 214 bytecodes, below the C2 inlining
threshold it had crossed.

Behaviour is identical to the previous commit: 132 tests, 132M checks of
an independent bit-level oracle and 3M differential operations against
cb95c63 all agree, and animal-sniffer still passes for Java 8 and
Android API 15/19.

47 of 50 new or added lines in 1 file covered. (94.0%)

415 of 418 relevant lines covered (99.28%)

13295.59 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

99.07
/src/main/java/src/main/java/fr/devnied/bitlib/BitUtils.java


Source Not Available

The file "src/main/java/fr/devnied/bitlib/BitUtils.java" isn't available on github. Either it's been removed, or the repo root directory needs to be updated.

STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc