上記のうちRingBuffer0,1,2,3の実装をしました。 RingBuffer0,1は特に実装の違いはありません。 RingBuffer2はマルチスレッド化のためProducerとConsumerの構造体を追加しています。 RingBuffer3はアライン調整のために_paddingフィールドを追加しました。 MultiThreadはもとのコードはcpuset(0,1)決め打ちだったので、それに合わせたものとcore idが違う(0,2)も実施しました。 実行結果 リファレンス(AMD Ryzen 7735HS) リファレンスとなるkumagiさんのコードをg++ -O2でビルドしました。 RingBuffer0_single: 1000000000 ops in 939 ms 1064962.726 ops/ms RingBuffer1_single: 1000000000 ops