Files
openidea/perf/budgets.json
l0ng-ai b473876d59 feat(agents): reference folders from @ completion (#1210)
Folders now appear in the composer's `@` completion next to files, from a new
`find_dirs` index query over the folders that hold indexed files (kept
incrementally in the index, ~0.5 ms on 100k files). Enter or a click
references the folder as `@dir/` and sends it as a resource link; Tab keeps
completing inside it.

Closes #1202
2026-11-04 20:44:14 +08:00

96 lines
3.0 KiB
JSON

{
"$comment": "Upper bounds, lower is better. ui: `<scenario>.<metric>` from `pnpm perf` (medians of the measured runs; enforced at CPU 1x only). Latencies are input → start of the first frame showing the result, so ~16.7 ms is 'next frame'. rust: criterion bench id → mean in microseconds, from `pnpm perf:rust` (`plugins/…`: the plugin runtime budgets).",
"regressionTolerance": 0.2,
"regressionFloor": 1,
"ui": {
"bundle.initialJsKb": 850,
"bundle.initialCssKb": 60,
"startup.readyMs": 400,
"startup.tbtMs": 50,
"startup.heapMb": 30,
"startup.domNodes": 1500,
"typing.p95Ms": 20,
"typing.maxMs": 33,
"typing.missedFramePct": 2,
"typing.styleLayoutMsPerKey": 3,
"typing.mainThreadMsPerKey": 10,
"typing.tbtMs": 50,
"typingLarge.openMs": 200,
"typingLarge.p95Ms": 20,
"typingLarge.maxMs": 33,
"typingLarge.missedFramePct": 2,
"typingLarge.styleLayoutMsPerKey": 3,
"typingLarge.mainThreadMsPerKey": 20,
"typingLarge.tbtMs": 50,
"keyRepeat.p95Ms": 20,
"keyRepeat.maxMs": 33,
"keyRepeat.missedFramePct": 2,
"keyRepeat.mainThreadMsPerKey": 16,
"keyRepeat.tbtMs": 50,
"scroll.frameP95Ms": 17.5,
"scroll.droppedFramesPct": 2,
"scroll.tbtMs": 50,
"scroll.jumpMs": 33,
"tabs.openSmallMs": 100,
"tabs.switchP95Ms": 33,
"popups.findActionOpenMs": 50,
"popups.findActionQueryMs": 120,
"popups.findActionKeyP95Ms": 33,
"popups.searchEverywhereOpenMs": 50,
"popups.searchEverywhereQueryMs": 120,
"toolWindows.maxMs": 50,
"projectTree.expandMs": 50,
"projectTree.frameP95Ms": 17.5,
"projectTree.droppedFramesPct": 2,
"projectTree.arrowKeyP95Ms": 20,
"projectTree.arrowKeyMissedFramePct": 2,
"leaks.heapGrowthMb": 4,
"leaks.domNodeGrowth": 100,
"leaks.listenerGrowth": 20
},
"rust": {
"text/open_1mb": 2000,
"text/apply_keystroke_1mb": 20,
"text/apply_100_changes_1mb": 1000,
"text/offset_to_pos_round_trip": 5,
"text/pos_to_byte": 5,
"text/text_for_save_crlf_1mb": 1000,
"syntax_2mb/selection_cached_hit": 5000,
"syntax_2mb/outline_cached_hit": 10000,
"syntax_2mb/folding_cached_hit": 1000,
"syntax_2mb/folding_after_keystroke_incremental": 200000,
"syntax_2mb/outline_after_keystroke_incremental": 350000,
"index_100k/find_files/a": 10000,
"index_100k/find_files/ordcon": 10000,
"index_100k/find_files/src/user": 10000,
"index_100k/find_files/PaymentService": 10000,
"index_100k/find_dirs/util": 5000,
"index_100k/find_dirs/src/ui": 5000,
"index_100k/find_dirs/a": 5000,
"index_100k/find_symbols/OCo": 15000,
"index_100k/find_symbols/q": 15000,
"index_100k/find_symbols/invoiceRepo": 15000,
"index_100k/find_symbols_types/UsSe": 15000,
"search_5k/literal": 100000,
"search_5k/regex": 100000,
"search_5k/dense_limit": 20000,
"plugins/load_50": 20000,
"plugins/cold_activation": 30000,
"plugins/syntax_highlights_2k_lines": 50000
}
}