func bqrwDequeue(msgCount, msgSize int64, q *spscq.ByteQ, done chan bool) { runtime.LockOSThread() start := time.Now().UnixNano() sum := int64(0) checksum := int64(0) buffer := make([]byte, msgSize) for i := int64(1); i <= msgCount; i++ { for r := false; r == false; r = q.Read(buffer) { } sum += int64(buffer[0]) checksum += int64(byte(i)) } nanos := time.Now().UnixNano() - start printSummary(msgCount, nanos, q.FailedWrites(), q.FailedReads(), "bqrw") expect(sum, checksum) done <- true }