private static void MeasureLatency(int blockCount) { var entrySize = blockCount * XEvent.BlockSize; var engine = new XEngine(entrySize); engine.Start(); var beginIndex = 0; byte sequence = 0; for (var i = 0; i < 10 * 1000 * 1000; i++) { var endIndex = beginIndex + XEvent.BlockSize - 1; using (var acquireScope = engine.AcquireEvent()) { var evt = acquireScope.Event; for (var dataIndex = beginIndex; dataIndex <= endIndex; dataIndex++) { evt.Data[dataIndex] = sequence++; } evt.BeginOffset = beginIndex; evt.EndOffset = endIndex; evt.Timestamp = Stopwatch.GetTimestamp(); } beginIndex = (beginIndex + XEvent.BlockSize) % entrySize; } engine.Stop(); engine.Dispose(); }