aboutsummaryrefslogtreecommitdiffstats
path: root/server/patch_server.py
diff options
context:
space:
mode:
authorblasty <blasty@local>2026-07-23 01:59:16 +0200
committerblasty <blasty@local>2026-07-23 01:59:16 +0200
commitbfdbb469e45ce66d82723da307efc49c17d5f074 (patch)
treeaac2bd32e63da2571c20ab68712be14000731b10 /server/patch_server.py
parentapp: 'a' — make string literal in the listing (M4 richness) (diff)
downloadida-tui-bfdbb469e45ce66d82723da307efc49c17d5f074.tar.gz
ida-tui-bfdbb469e45ce66d82723da307efc49c17d5f074.tar.xz
ida-tui-bfdbb469e45ce66d82723da307efc49c17d5f074.zip
perf: stream the listing incrementally instead of load_all on open (M4)
Opening a listing walked the WHOLE segment (load_all) before showing anything -- a blank pane for seconds on a big .text. Now _prime loads just the viewport around the cursor (appears instantly) and _grow streams the rest in the background, growing virtual_size as pages land (throttled). Search finishes loading first (needs the whole segment). ListingModel gains a _load_lock so the grower and an in-view search can both drive page loads without double-fetching; new public load_next_page. Verified: ensure(1100)->partial(1500,incomplete), load_all->full(5036,complete); 3 concurrent loaders -> 0 duplicate heads; UI listing+search 30/0 (in-process).
Diffstat (limited to 'server/patch_server.py')
0 files changed, 0 insertions, 0 deletions