Mooore Write

struct alignas(64) CacheLine {
  char data[64];
};
std::vector<CacheLine> arr(1'000'000);

for (int i = 0; i < N; ++i) {
  arr[i].data[0] = i;
}
^ This is Faster?
struct alignas(64) CacheLine {
  char data[64];
};
std::vector<CacheLine> arr(1'000'000);

for (int i = 0; i < N; ++i) {
  memset(&arr[i], i, 64);
}
^ This is Faster?

* The benchmark is run under AMD Ryzen 9.

* For the full benchmark code, please refer here.

* For illustration purposes only, see FAQ for more details.