-
Notifications
You must be signed in to change notification settings - Fork 845
Closed
Description
Here are some numbers from the measurement of the overhead of dynamic_cast on the inbound side of HTTP/1.1 on TCP.
Profile on Instruments
Instuments says 0.7% on __dynamic_cast and it's the second heaviest call of Htt1ClientSession::new_transaction() ( on the master branch (c6d3f6f) )

rec/sec
| items | master | PoC | diff |
|---|---|---|---|
| avg | 41379.7169 | 42578.5729 | 1.029 |
| 90%tile | 44459.874 | 45816.123 | 1.031 |
| min | 34569.55 | 35596.56 | 1.030 |
| max | 46382.62 | 47461.07 | 1.023 |
- master: c6d3f6f
- PoC: PoC: Avoid some dynamic_cast #8002 (e9a837a)
- CPU: Intel(R) Xeon(R) CPU E5-2660 v3 @ 2.60GHz, 40 core
- HTTP/1.1 on TCP (no TLS)
- no Keep-Alive
- 1KB response body
- 100% cache hit
- ATS has default thread settings
- Client:
for x in {1..100}; do h2load --h1 -n 100000 -m 1 -c 10 http://127.0.0.1:8080/static/1kb >> master.log; done