You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
+ strip out use of use of construct when deframing, this moves construct out of the deframing hot path
+ use binascii (which is a C extension module) to implement the CRC calculation: https://github.com/python/cpython/blob/master/Modules/binascii.c
+ Used sbp2json (skipping the `dispatch` method which parses into fields) to test the speed of just deframing. Speed of deframing (no JSON serializatoin) with master:
```
Benchmark #1: python -m sbp2json <test_data/benchmark.sbp
Time (mean ± σ): 11.990 s ± 0.331 s [User: 11.979 s, System: 0.011 s]
Range (min … max): 11.441 s … 12.556 s 10 runs
```
Speed of deframing (no JSON serialization) with this branch:
```
❯ hyperfine 'python -m sbp2json --include 1 <test_data/benchmark.sbp' (libsbp)
Benchmark #1: python -m sbp2json --include 1 <test_data/benchmark.sbp
Time (mean ± σ): 961.3 ms ± 18.7 ms [User: 953.2 ms, System: 8.1 ms]
Range (min … max): 927.6 ms … 979.2 ms 10 runs
```
Tests are needed, at least for the python client, to check for proper message handling and dispatch.
The text was updated successfully, but these errors were encountered: