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

boostorg / pfr / 11253776824
100%

Build:
DEFAULT BRANCH: develop
Ran 09 Oct 2024 11:19AM UTC
Jobs 1
Files 21
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

09 Oct 2024 11:12AM UTC coverage: 100.0%. Remained the same
11253776824

push

github

web-flow
Improve field count typical case performance (#120)

The tightest upper bound one can specify on the number of fields in a
struct is `sizeof(type) * CHAR_BIT`. So this was previously used when
performing a binary search for the field count. This upper bound is
extremely loose when considering a typical large struct, which is more
likely to contain a relatively small number of relatively large fields
rather than the other way around. The binary search range being multiple
orders of magnitude larger than necessary wouldn't have been a
significant issue if each test was cheap, but they're not. Testing a
field count of N costs O(N) memory and time. As a result, the initial
few steps of the binary search may be prohibitively expensive.

The primary optimization introduced by these changes is to use unbounded
binary search, a.k.a. exponential search, instead of the typically
loosely bounded binary search. This produces a tight upper bound (within
2x) on the field count to then perform the binary search with.

As an upside of this change, the compiler-specific limit placed on the
upper bound on the field count to stay within compiler limits could be
removed.

407 of 407 relevant lines covered (100.0%)

9346.72 hits per line

Jobs
ID Job ID Ran Files Coverage
1 11253776824.1 09 Oct 2024 11:19AM UTC 21
100.0
GitHub Action Run
Source Files on build 11253776824
  • Tree
  • List 21
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • ff415a26 on github
  • Prev Build on develop (#10872623956)
  • Next Build on develop (#11340643499)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc