Set and enforce performance budgets for v1.0

オープン
#62 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
5/5
見積もり時間
1週間以上
初心者へのやさしさ
38/100
issue の種類
機能追加
明瞭さ
おおむね明確
活発さ
活発
技術スタック
github-actions, typescript, vite
領域
ci-cd, performance

調査の方向性

Start with docs/architecture.md and the referenced Vite, precache, performance test, and CI workflow files to understand the existing bundle budget and measurement setup. Define repeatable measurements for startup, offline page and precache size, and pack checking time and memory, then document budgets and how pull requests can raise them. Add CI checks and demonstrate a failing budget with a test change; done means the documented budgets are met at v1.0.

索引モデルが issue の本文から書いたものです。

説明

area: infra area: web priority: medium type: chore

Context

v1.0 promises a dependable player on low-end phones and a verifier that stays usable as packs grow. The v0.2 bundle-size work (#34) adds a CI budget for the main chunk. Other costs are not measured: start-up time on a slow phone, the size of lexvm-offline.html and of the precache as packs are added, and the time and memory of npm run check:packs (the explorer uses about 1.8 KB per state). Baseline at the v0.1 pull request (Vite report): main chunk 270 KB (85 KB gzip), Create screen 148 KB (54 KB gzip), YAML compiler 102 KB (32 KB gzip), CSS 26 KB (6 KB gzip), lexvm-offline.html 660 KB (209 KB gzip); the service worker precaches 16 files; the noir pack's .lexpack.json is 100 KB.

Scope

  • Measure and record budgets in docs/architecture.md: start-up time to an interactive library and game screen on a throttled mobile profile, lexvm-offline.html size, precache size, npm run check:packs time and peak memory.
  • CI checks for each budget, including the main chunk budget from v0.2, with a documented way to raise a budget in a pull request.

Acceptance criteria

  • Budgets and the measuring method are documented.
  • CI fails when a budget is exceeded (shown with a test change).
  • All budgets are met at the v1.0 release.

References

  • apps/web/vite.config.ts
  • apps/web/build/precache.ts
  • packages/engine/test/explore-perf.test.ts
  • .github/workflows/ci.yml
  • docs/architecture.md
主要言語
TypeScript
スター
0
フォーク
0
平均マージ
1時間 24分
マージ済み PR(30日)
5

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

nullthrone/lexvm のほかの issue

nullthrone/lexvm の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。