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

google / benchmark / 1422
92%

Build:
DEFAULT BRANCH: master
Ran 14 Feb 2018 08:47PM UTC
Jobs 1
Files 32
Run time 2s
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

pending completion
1422

push

travis-ci

web-flow
Improve State packing: put important members on first cache line. (#527)

* Improve State packing: put important members on first cache line.

This patch does a few different things to ensure commonly accessed
data is on the first cache line of the `State` object.

First, it moves the `error_occurred_` member to reside after
the `started_` and `finished_` bools, since there was internal
padding there that was unused.

Second, it moves `batch_leftover_` and `max_iterations` further up
in the struct declaration. These variables are used in the calculation
of `iterations()` which users might call within the loop. Therefore
it's more important they exist on the first cache line.

Finally, this patch turns the bool members into bitfields. Although
this shouldn't have much of an effect currently, because padding is
still needed between the last bool and the first size_t, it should
help in future changes that require more "bool like" members.

* Remove bitfield change for now

* Move bools (and their padding) to end of "first cache line" vars.

I think it makes the most sense to move the padding required
following the group of bools to the end of the variables we want
on the first cache line.

This also means that the `total_iterations_` variable, which is the
most accessed, has the same address as the State object.

* Fix static assertion after moving bools

1 of 1 new or added line in 1 file covered. (100.0%)

1489 of 1711 relevant lines covered (87.03%)

4403556.9 hits per line

Jobs
ID Job ID Ran Files Coverage
1 1422.1 (COMPILER=g++ C_COMPILER=gcc BUILD_TYPE=Coverage) 14 Feb 2018 08:47PM UTC 0
87.03
Travis Job 1422.1
Source Files on build 1422
Detailed source file information is not available for this build.
  • Back to Repo
  • Travis Build #1422
  • 207b9c7a on github
  • Prev Build on master (#1362)
  • Next Build on master (#1424)
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

© 2026 Coveralls, Inc