Reorder TileLayer. (#5638)
authorAuke Kok <sofar+github@foo-projects.org>
Sat, 29 Apr 2017 07:16:32 +0000 (00:16 -0700)
committerLoïc Blot <nerzhul@users.noreply.github.com>
Sat, 29 Apr 2017 07:16:32 +0000 (09:16 +0200)
commit1ecc8756bcab6b97cf31f18163c761dd25fa947e
tree871fd4a3aaea25f179247edb9a6190136c96d412
parent19960e26c672c6337f8c6ffbe27f2c6bca49750c
Reorder TileLayer. (#5638)

Despite the split of TileSpec into TileDef and TileLayer, the
TileLayer struct is still 66 bytes large, and doesn't fit in
a single cacheline.

I'm moving the color member to cacheline 2, in the hope that it
is less used and the compiler loads all the hot members in a single
cacheline instead. Only color sits now in cacheline 2, all the
other members are in cacheline 1.

Note: is_color is probably rarely set, most nodes will likely
not use hardware coloring, but this may change in the future.
Ideally, this class is shrunk to 64 bytes.
src/client/tile.h