Skip to content

Instantly share code, notes, and snippets.

@p4checo
Created May 20, 2013 21:05
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save p4checo/5615558 to your computer and use it in GitHub Desktop.
Save p4checo/5615558 to your computer and use it in GitHub Desktop.
readwriterqueue-bench example runs including folly's ProducerConsumerQueue
| Min | Max | Avg
Benchmark | RWQ | SPSC | PCQ | RWQ | SPSC | PCQ | RWQ | SPSC | Mult | PCQ | Mult
------------------+---------+---------+---------+---------+---------+---------+---------+---------+------+---------+------
Raw add | 0.0009s | 0.0060s | 0.0003s | 0.0009s | 0.0060s | 0.0003s | 0.0009s | 0.0060s | 6.9x | 0.0003s | 0.4x
Raw remove | 0.0008s | 0.0003s | 0.0004s | 0.0008s | 0.0003s | 0.0004s | 0.0008s | 0.0003s | 0.4x | 0.0004s | 0.5x
Raw empty remove | 0.0023s | 0.0007s | 0.0007s | 0.0023s | 0.0007s | 0.0007s | 0.0023s | 0.0007s | 0.3x | 0.0007s | 0.3x
Single-threaded | 0.0046s | 0.0043s | 0.0042s | 0.0046s | 0.0043s | 0.0042s | 0.0046s | 0.0043s | 0.9x | 0.0042s | 0.9x
Mostly add | 0.0072s | 0.0119s | 0.0073s | 0.0077s | 0.0165s | 0.0074s | 0.0074s | 0.0150s | 2.0x | 0.0073s | 1.0x
Mostly remove | 0.0076s | 0.0082s | 0.0071s | 0.0076s | 0.0082s | 0.0071s | 0.0076s | 0.0082s | 1.1x | 0.0071s | 0.9x
Heavy concurrent | 0.0047s | 0.0100s | 0.0011s | 0.0048s | 0.0241s | 0.0011s | 0.0047s | 0.0201s | 4.3x | 0.0011s | 0.2x
Random concurrent | 0.0427s | 0.0412s | 0.0123s | 0.0483s | 0.0488s | 0.0154s | 0.0462s | 0.0470s | 1.0x | 0.0137s | 0.3x
Average ops/s:
ReaderWriterQueue: 64.38 million
SPSC queue: 103.01 million
ProducerConsumerQueue: 1615.91 million
| Min | Max | Avg
Benchmark | RWQ | SPSC | PCQ | RWQ | SPSC | PCQ | RWQ | SPSC | Mult | PCQ | Mult
------------------+---------+---------+---------+---------+---------+---------+---------+---------+------+---------+------
Raw add | 0.0009s | 0.0064s | 0.0003s | 0.0009s | 0.0074s | 0.0003s | 0.0009s | 0.0070s | 7.9x | 0.0003s | 0.4x
Raw remove | 0.0008s | 0.0003s | 0.0004s | 0.0009s | 0.0003s | 0.0004s | 0.0009s | 0.0003s | 0.4x | 0.0004s | 0.5x
Raw empty remove | 0.0022s | 0.0007s | 0.0005s | 0.0023s | 0.0007s | 0.0007s | 0.0023s | 0.0007s | 0.3x | 0.0006s | 0.3x
Single-threaded | 0.0046s | 0.0042s | 0.0042s | 0.0047s | 0.0042s | 0.0042s | 0.0046s | 0.0042s | 0.9x | 0.0042s | 0.9x
Mostly add | 0.0070s | 0.0121s | 0.0072s | 0.0076s | 0.0166s | 0.0074s | 0.0073s | 0.0150s | 2.1x | 0.0073s | 1.0x
Mostly remove | 0.0072s | 0.0082s | 0.0070s | 0.0077s | 0.0083s | 0.0072s | 0.0076s | 0.0083s | 1.1x | 0.0072s | 0.9x
Heavy concurrent | 0.0047s | 0.0226s | 0.0011s | 0.0049s | 0.0241s | 0.0012s | 0.0049s | 0.0238s | 4.9x | 0.0011s | 0.2x
Random concurrent | 0.0476s | 0.0416s | 0.0123s | 0.0483s | 0.0486s | 0.0204s | 0.0480s | 0.0453s | 0.9x | 0.0165s | 0.3x
Average ops/s:
ReaderWriterQueue: 58.92 million
SPSC queue: 97.20 million
ProducerConsumerQueue: 1550.89 million
| Min | Max | Avg
Benchmark | RWQ | SPSC | PCQ | RWQ | SPSC | PCQ | RWQ | SPSC | Mult | PCQ | Mult
------------------+---------+---------+---------+---------+---------+---------+---------+---------+------+---------+------
Raw add | 0.0010s | 0.0068s | 0.0003s | 0.0010s | 0.0070s | 0.0003s | 0.0010s | 0.0070s | 7.0x | 0.0003s | 0.3x
Raw remove | 0.0009s | 0.0003s | 0.0004s | 0.0010s | 0.0003s | 0.0004s | 0.0009s | 0.0003s | 0.4x | 0.0004s | 0.5x
Raw empty remove | 0.0026s | 0.0008s | 0.0008s | 0.0026s | 0.0008s | 0.0008s | 0.0026s | 0.0008s | 0.3x | 0.0008s | 0.3x
Single-threaded | 0.0046s | 0.0042s | 0.0042s | 0.0046s | 0.0042s | 0.0042s | 0.0046s | 0.0042s | 0.9x | 0.0042s | 0.9x
Mostly add | 0.0071s | 0.0120s | 0.0073s | 0.0082s | 0.0141s | 0.0073s | 0.0077s | 0.0133s | 1.7x | 0.0073s | 0.9x
Mostly remove | 0.0073s | 0.0083s | 0.0071s | 0.0076s | 0.0083s | 0.0071s | 0.0076s | 0.0083s | 1.1x | 0.0071s | 0.9x
Heavy concurrent | 0.0047s | 0.0239s | 0.0011s | 0.0048s | 0.0242s | 0.0011s | 0.0047s | 0.0241s | 5.1x | 0.0011s | 0.2x
Random concurrent | 0.0443s | 0.0408s | 0.0160s | 0.0464s | 0.0489s | 0.0197s | 0.0456s | 0.0456s | 1.0x | 0.0177s | 0.4x
Average ops/s:
ReaderWriterQueue: 59.42 million
SPSC queue: 101.09 million
ProducerConsumerQueue: 1573.59 million
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment