chore(ux): измерить генерацию всех комбинаций маршрутов
This commit is contained in:
1 parent
53e36f2a03
commit
057f0d352a
5 files changed
+104
-2
No files matched your search
+1
-1
@@ -1,6 +1,6 @@
|
||||
# План реализации UX/UI по пятичасовым окнам
|
||||
|
||||
Актуальное продолжение 2026-10-07: 12.3.67 завершён: компактные ReUI KPI captions, distinct площадки/unknown/пустой и исключённый pool,16+2browser/type/lint/build. Следующий12.3.68: child CPU/full-route product≤100000, hard timeout/memory cap, сохранить baseline перед map lookup оптимизацией. Внешняя12.5 отдельно.
|
||||
Актуальное продолжение 2026-10-07: 12.3.68 baseline full routes сохранён: pure product1000/100000 под timeout10s/memory256MB, все route IDs/unknown сохранены. Следующий12.3.69: заменить повторный wanJhLegs.find на map с first-match семантикой и доказать route/source/tie эквивалентность. Затем аудит направлений TX/RX и привязки wildcard-проб; внешняя12.5 остаётся.
|
||||
|
||||
Общий план проекта MikrotikManager. Основан на согласованном плане из задачи; точка продолжения обновлена 2026-10-04. Источник фактического прогресса, проверок и ограничений — [журнал реализации](ux-ui-progress.md). Этот документ задаёт объём и критерии завершения, журнал фиксирует результат.
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# UX/UI: журнал реализации
|
||||
|
||||
Актуальное продолжение 2026-10-07: 12.3.67 завершён: компактные ReUI KPI captions, distinct площадки/unknown/пустой и исключённый pool,16+2browser/type/lint/build. Следующий12.3.68: child CPU/full-route product≤100000, hard timeout/memory cap, сохранить baseline перед map lookup оптимизацией. Внешняя12.5 отдельно.
|
||||
Актуальное продолжение 2026-10-07: 12.3.68 baseline full routes сохранён: pure product1000/100000 под timeout10s/memory256MB, все route IDs/unknown сохранены. Следующий12.3.69: заменить повторный wanJhLegs.find на map с first-match семантикой и доказать route/source/tie эквивалентность. Затем аудит направлений TX/RX и привязки wildcard-проб; внешняя12.5 остаётся.
|
||||
|
||||
Общий план: [UX/UI по этапам и пятичасовым окнам](ux-ui-plan.md). План задаёт объём, этот журнал фиксирует выполненные блоки и ограничения.
|
||||
|
||||
|
||||
@@ -767,3 +767,10 @@ Pure child CPU1000: equal1217.5→15.6ms,varied7967.5→14.5ms,freshness10с tim
|
||||
16 main browser +2 повторных новых профиля после copy-уточнения прошли:1000JH и1000Exit отдельно (без опасного cross product), repetitions/two sites/1000sites/long80chars/unknown/empty/offline/disabled/503 cache/recovery.320px без overflow, caption≤80px, scoped WCAG axe passed. Non-incremental TypeScript до dev, full page/helper/test lint и окончательный production build прошли. ReUI API/validate_usage проверены; primitive/theme не изменены. Historical9 optimizer PNG восстановлены, новые docs/ux-ui/screens/optimizer-sites-{jump-host,exit-node}-320.png просмотрены.
|
||||
|
||||
Далее12.3.68 pure child CPU profile full-route product≤100000/timeout10s/memory cap; не грузить тяжёлый baseline в UI. Остаточные DFS worst-case/full-route memory/native selector и внешняя12.5 не объявляются принятыми. Общая main/context регрессия относится к ранее записанным HEAD; текущий footer delta проверен профильными16+2.
|
||||
|
||||
|
||||
## 12.3.68 — bounded CPU-профиль генерации полных маршрутов
|
||||
|
||||
2026-10-07. Pure child process без API/DB/браузера/сети, product≤100000/dimensions1–1000/timeout10s/V8heap256MB.1000WAN×1JH×1Exit1000routes≈16.9ms/heapDelta1.8MB;10×100×100100000routes≈329.6ms/22.0MB;100×10×100≈266.7ms/27.1MB. Первый измеренный прогон; точные повторные значения и source SHA256 в docs/ux-ui/acceptance/optimizer-routes-baseline-2026-10-07.json. Heap delta не peak/retained memory, время не production p95/SLA. Проверены count/first-last IDs/bestFirst/сохранение отсутствующих наблюдений. ESLint скрипта прошёл.
|
||||
|
||||
Baseline в UI не запускался. Повторный Array.find по1000wanJhLegs на каждую из100000комбинаций даёт лишние линейные сканирования. Следующий12.3.69: map lookup с сохранением первого matching leg и порядка routes/ties, профильный repeat. Полный product всё ещё хранится/сортируется в памяти; опасную произвольную размерность этот профиль не принимает. Далее аудит TX/RX и связи wildcard-пробы с конкретным WAN, прежде чем объявлять observed correctness закрытой. Внешняя12.5 отдельно.
|
||||
@@ -0,0 +1,72 @@
|
||||
{
|
||||
"head": "53e36f2a036881962cf6ebce98c01cb8063b7c9d",
|
||||
"sourceSha256": "53273273c46f78cde2c82cff52b282dd19dcfc5c363f0b64c0b50cac44e20510",
|
||||
"runs": [
|
||||
{
|
||||
"wanCount": 1000,
|
||||
"jhCount": 1,
|
||||
"exitCount": 1,
|
||||
"combinations": 1000,
|
||||
"memoryCapMb": 256,
|
||||
"timeoutMs": 10000,
|
||||
"totalMs": 308,
|
||||
"status": 0,
|
||||
"timedOut": false,
|
||||
"result": {
|
||||
"elapsedMs": 16.607,
|
||||
"heapDeltaBytes": 1783440,
|
||||
"wanJhLegs": 1000,
|
||||
"routes": 1000,
|
||||
"firstId": "1-w0-2-3",
|
||||
"lastId": "1-w999-2-3",
|
||||
"bestMatchesFirst": true,
|
||||
"missingObservations": true
|
||||
},
|
||||
"error": ""
|
||||
},
|
||||
{
|
||||
"wanCount": 10,
|
||||
"jhCount": 100,
|
||||
"exitCount": 100,
|
||||
"combinations": 100000,
|
||||
"memoryCapMb": 256,
|
||||
"timeoutMs": 10000,
|
||||
"totalMs": 526,
|
||||
"status": 0,
|
||||
"timedOut": false,
|
||||
"result": {
|
||||
"elapsedMs": 284.0216,
|
||||
"heapDeltaBytes": 16283720,
|
||||
"wanJhLegs": 1000,
|
||||
"routes": 100000,
|
||||
"firstId": "1-w0-2-102",
|
||||
"lastId": "1-w9-101-201",
|
||||
"bestMatchesFirst": true,
|
||||
"missingObservations": true
|
||||
},
|
||||
"error": ""
|
||||
},
|
||||
{
|
||||
"wanCount": 100,
|
||||
"jhCount": 10,
|
||||
"exitCount": 100,
|
||||
"combinations": 100000,
|
||||
"memoryCapMb": 256,
|
||||
"timeoutMs": 10000,
|
||||
"totalMs": 526,
|
||||
"status": 0,
|
||||
"timedOut": false,
|
||||
"result": {
|
||||
"elapsedMs": 287.04370000000006,
|
||||
"heapDeltaBytes": 16787856,
|
||||
"wanJhLegs": 1000,
|
||||
"routes": 100000,
|
||||
"firstId": "1-w0-2-12",
|
||||
"lastId": "1-w99-11-111",
|
||||
"bestMatchesFirst": true,
|
||||
"missingObservations": true
|
||||
},
|
||||
"error": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in new issue
Block a user