aboutsummaryrefslogtreecommitdiffstats
path: root/tests/test_blob_ui.py
diff options
context:
space:
mode:
authorblasty <blasty@local>2026-08-07 15:09:40 +0200
committerblasty <blasty@local>2026-08-07 15:09:40 +0200
commit1ee6f15d4940138153e439bd97ea33f5b1fb56ba (patch)
tree3f08a83f0d99f3d3fc7069b7be00d235bab82817 /tests/test_blob_ui.py
parentSPEED.md: where the last 2ms goes, and why batching is not worth building (diff)
downloadida-tui-1ee6f15d4940138153e439bd97ea33f5b1fb56ba.tar.gz
ida-tui-1ee6f15d4940138153e439bd97ea33f5b1fb56ba.tar.xz
ida-tui-1ee6f15d4940138153e439bd97ea33f5b1fb56ba.zip
docs: upstream findings for the ida-codemode maintainers
Nine items found while porting a latency-sensitive client, each with the measurement behind it and a suggested fix, ordered by what it cost us. The two that matter: timeout_trace returns itself, which turns on line tracing in every frame (52x on ida_bytes.get_flags, 10x on a listing page), and to_jsonable walking large results (114x what json.dumps of the same data costs). Together they were the difference between 35x slower than the worker we replaced and within 2x of it. Both live in the runtime, so every client pays them until they are fixed centrally -- we only found them because we had an in-process implementation to compare against. Also records the things we had to reach into internals for (waiting for a lease to release), the failure modes that are silent or fatal rather than typed (loader switches on an existing IDB, an IDB replaced under a live lease), and the one feature we could not port at all (discard-and-quit, since a managed worker saves when its final lease closes).
Diffstat (limited to 'tests/test_blob_ui.py')
0 files changed, 0 insertions, 0 deletions