Results / awscrt
awscrt 0.37.0 crt_event_loop native
| version | 0.37.0 |
|---|---|
| I/O model | crt_event_loop |
| implementation | native |
| stability | stable |
| completion | callback |
| drive shape | sync |
| Python | 3.12.13 |
Refused
Declared unsupported by the adapter, never approximated.
- pub_qos2_max: not_implemented:qos2
- pub_qos2_fixed: not_implemented:qos2
- sub_qos2_fixed: not_implemented:qos2
- sub_filters_fixed: not_implemented:native_message_callback_add
- pub_qos1_fixed_v5_alias: not_implemented:v5_topic_alias
- sub_qos1_max_v5_rm16: not_implemented:v5_receive_maximum
Known limitations
aws-c-io does not expose TCP_NODELAY, and a trace of the library's connect shows it never sets it, so Nagle's algorithm stays on. A QoS 1 round trip then waits tens of milliseconds, against hundreds of microseconds at QoS 0, where no acknowledgement is pending: the pattern of Nagle's algorithm waiting for a delayed ACK. This is the library as shipped, reported as measured. It says nothing about the library's publish or receive cost, which the other points show.
Affects: rtt_qos1_fixed, rtt_qos1_fixed_v5.
Every point
| point | headline | value | CPU / msg | peak RSS | flags |
|---|---|---|---|---|---|
| pub_qos0_max | msgs/s | 16,456 | 77.2 µs | 27.2 MiB | |
| pub_qos1_max | msgs/s | 24,420 | 53.2 µs | 27.0 MiB | |
| pub_qos1_fixed | p50 | 135 µs | 104 µs | 26.7 MiB | |
| sub_qos0_max | msgs/s | 58,137 | 17.2 µs | 26.5 MiB | |
| sub_qos1_fixed | p50 | 125 µs | 44.4 µs | 26.8 MiB | |
| rtt_qos1_fixed | p50 | 23.6 ms | 148 µs | 26.8 MiB | |
| pub_16k_fixed | p50 | 2,294 µs | 141 µs | 26.7 MiB | |
| idle_connect | connect | 62.3 ms | 26.5 MiB | ||
| pub_qos1_fixed_v5 | p50 | 135 µs | 110 µs | 26.6 MiB | |
| sub_qos1_fixed_v5 | p50 | 109 µs | 65.0 µs | 26.8 MiB | |
| rtt_qos1_fixed_v5 | p50 | 20.4 ms | 170 µs | 26.8 MiB | |
| sub_qos1_max | msgs/s | 47,141 | 21.2 µs | 26.5 MiB | broker boundbroker queue overflow |
| pub_qos1_max_v5 | msgs/s | 15,314 | 79.9 µs | 26.6 MiB | |
| sub_qos1_max_v5 | msgs/s | 37,070 | 26.7 µs | 26.7 MiB | broker boundbroker queue overflow |
| pub_qos1_max_16k | msgs/s | 19,872 | 62.7 µs | 29.7 MiB | |
| pub_qos1_fixed_500 | p50 | 193 µs | 182 µs | 26.5 MiB | |
| pub_qos1_fixed_5k | p50 | 129 µs | 78.0 µs | 27.0 MiB | |
| sub_qos1_fixed_500 | p50 | 176 µs | 79.8 µs | 26.6 MiB | |
| sub_qos1_fixed_5k | p50 | 104 µs | 40.0 µs | 27.1 MiB | |
| rtt_qos0_fixed | p50 | 225 µs | 165 µs | 26.7 MiB | |
| pub_qos2_max | msgs/s | unsupported | |||
| pub_qos2_fixed | p50 | unsupported | |||
| sub_qos2_fixed | p50 | unsupported | |||
| pub_fanout_fixed | p50 | 129 µs | 103 µs | 26.8 MiB | |
| sub_fanin_fixed | p50 | 125 µs | 45.6 µs | 26.9 MiB | |
| sub_filters_fixed | p50 | unsupported | |||
| duplex_qos1_fixed | p50 | 287 µs | 87.5 µs | 26.8 MiB | |
| pub_qos1_fixed_tls | p50 | 143 µs | 108 µs | 27.4 MiB | |
| sub_qos1_fixed_tls | p50 | 135 µs | 52.5 µs | 27.5 MiB | |
| idle_connect_tls | connect | 105.4 ms | 27.2 MiB | ||
| pub_qos1_fixed_v5_props | p50 | 143 µs | 118 µs | 26.7 MiB | |
| sub_qos1_fixed_v5_props | p50 | 113 µs | 68.8 µs | 26.8 MiB | |
| pub_qos1_fixed_v5_alias | p50 | unsupported | |||
| sub_qos1_max_v5_rm16 | msgs/s | unsupported | |||
| pub_64k_fixed | p50 | 1,737 µs | 192 µs | 26.9 MiB | |
| pub_1m_fixed | p50 | 3,080 µs | 2,481 µs | 31.4 MiB | |
| pub_rl_boundaries | p50 | 6,423 µs | 1,833 µs | 38.4 MiB |