Avatar for the byteoak user
byteoak
py4j
BlogDocsChangelog

perf: decode_bytearray (closes #570) + hot-path smart_decode shortcuts (credit @markjm #575)

#5Merged
Comparing
perf-quick-wins
(
e7b1485
) with
master
(
3c2f164
)
CodSpeed Performance Gauge
+91%
Improvement
2
Untouched
16
Skipped
7

Benchmarks

25 total
test_macro_scenario[X7-16k]
py4j-python/src/py4j/tests/perf/scenarios/codspeed_macros.py
CodSpeed Performance Gauge
×3.3
102.9 ms31 ms
test_m5c_encode_float
py4j-python/src/py4j/tests/perf/scenarios/micro.py
CodSpeed Performance Gauge
+10%
3 µs2.7 µs
test_m7b_unescape
py4j-python/src/py4j/tests/perf/scenarios/micro.py
CodSpeed Performance Gauge
-2%
21.5 µs22 µs
test_m5a_encode_int
py4j-python/src/py4j/tests/perf/scenarios/micro.py
CodSpeed Performance Gauge
-2%
2.1 µs2.1 µs
test_m1_static_call_no_args
py4j-python/src/py4j/tests/perf/scenarios/micro.py
CodSpeed Performance Gauge
-2%
95.2 µs97.4 µs
test_macro_scenario[X6]
py4j-python/src/py4j/tests/perf/scenarios/codspeed_macros.py
CodSpeed Performance Gauge
+2%
69.2 ms67.8 ms
test_macro_scenario[X2-10k]
py4j-python/src/py4j/tests/perf/scenarios/codspeed_macros.py
CodSpeed Performance Gauge
-2%
884.1 ms902.8 ms
test_macro_scenario[X1-1]
py4j-python/src/py4j/tests/perf/scenarios/codspeed_macros.py
CodSpeed Performance Gauge
-2%
946.2 ms965.4 ms
test_m3_jvmview_class_resolution
py4j-python/src/py4j/tests/perf/scenarios/micro.py
CodSpeed Performance Gauge
-2%
390.1 µs396.5 µs
test_m4_constructor_and_finalize
py4j-python/src/py4j/tests/perf/scenarios/micro.py
CodSpeed Performance Gauge
-1%
582.7 µs588 µs
test_m6b_decode_string
py4j-python/src/py4j/tests/perf/scenarios/micro.py
CodSpeed Performance Gauge
-1%
5.2 µs5.2 µs
test_m2b_instance_append_str
py4j-python/src/py4j/tests/perf/scenarios/micro.py
CodSpeed Performance Gauge
-1%
190.5 µs191.9 µs
test_m6a_decode_int
py4j-python/src/py4j/tests/perf/scenarios/micro.py
CodSpeed Performance Gauge
0%
1.9 µs1.9 µs
test_macro_scenario[X4]
py4j-python/src/py4j/tests/perf/scenarios/codspeed_macros.py
CodSpeed Performance Gauge
0%
41.8 ms41.9 ms
test_m7a_escape
py4j-python/src/py4j/tests/perf/scenarios/micro.py
CodSpeed Performance Gauge
0%
4.5 µs4.5 µs
test_m2a_instance_append_int
py4j-python/src/py4j/tests/perf/scenarios/micro.py
CodSpeed Performance Gauge
0%
190.4 µs190.6 µs
test_m5b_encode_string
py4j-python/src/py4j/tests/perf/scenarios/micro.py
CodSpeed Performance Gauge
0%
2.6 µs2.6 µs
test_macro_scenario[X8-16k]
py4j-python/src/py4j/tests/perf/scenarios/codspeed_macros.py
CodSpeed Performance Gauge
0%
46.2 ms46.1 ms
test_m5b_encode_string
py4j-python/src/py4j/tests/perf/scenarios/micro.py
Skipped
28.2 µs*
test_m5c_encode_float
py4j-python/src/py4j/tests/perf/scenarios/micro.py
Skipped
27.8 µs*
test_m7a_escape
py4j-python/src/py4j/tests/perf/scenarios/micro.py
Skipped
22.2 µs*
test_m6a_decode_int
py4j-python/src/py4j/tests/perf/scenarios/micro.py
Skipped
22.9 µs*
test_m7b_unescape
py4j-python/src/py4j/tests/perf/scenarios/micro.py
Skipped
62.4 µs*
test_m6b_decode_string
py4j-python/src/py4j/tests/perf/scenarios/micro.py
Skipped
37.8 µs*
test_m5a_encode_int
py4j-python/src/py4j/tests/perf/scenarios/micro.py
Skipped
25.7 µs*

Commits

Click on a commit to change the comparison range
Base
master
3c2f164
+91.12%
perf: drop smart_decode dispatch on hot recv + minor protocol cleanups
e7b1485
4 months ago
by Tagar
© 2026 CodSpeed Technology
Home Terms Privacy Docs