Files
OJ2/apps/api/package.json
T
xuyueandClaude Opus 5.5 b3dca1a271
Deploy / deploy (push) Canceled after 0s
perf(判题): SQL 题每次判题少等约 50ms,后端起服务快一倍
单二进制改用预编译字节码(--bytecode --format=esm)。SQL 判题每题都要起一次子进程,
单核实测从约 120ms 降到约 72ms;serve 起服务约 180ms → 100ms,内存不变,二进制大 8MB。
编译形态在仓库外实跑过:migrate / healthcheck / serve / worker 能起,C 题判对、
AST 规则判出 10、jieba 分词、SQL 子进程的判题与展示都和 dev 形态结果一致。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 09:16:32 +08:00

46 lines
1.5 KiB
JSON

{
"name": "@oj2/api",
"version": "0.0.0",
"private": true,
"type": "module",
"scripts": {
"dev": "bun run --parallel dev:http dev:worker",
"dev:http": "bun --watch src/main.ts serve",
"dev:worker": "bun --watch src/main.ts worker",
"start": "bun src/main.ts serve",
"worker": "bun src/main.ts worker",
"build": "bun build --compile --bytecode --format=esm --target=bun-linux-x64 src/main.ts --outfile ../../dist/oj2-api",
"seed:dev": "bun src/scripts/seed-dev.ts",
"recount": "bun --env-file=../../.env src/main.ts recount",
"rediagnose": "bun --env-file=../../.env src/main.ts rediagnose",
"typecheck": "bun check",
"check:routes": "bun src/scripts/check-route-shadowing.ts",
"check:ast": "bun src/scripts/check-ast-targets.ts",
"db:pull": "drizzle-kit pull",
"db:generate": "drizzle-kit generate",
"db:migrate": "bun --env-file=../../.env src/main.ts migrate"
},
"dependencies": {
"@node-rs/jieba": "^2.0.4",
"@node-rs/jieba-linux-x64-gnu": "2.0.4",
"@oj2/contract": "workspace:*",
"bullmq": "^6.3.12",
"drizzle-orm": "^0.45.4",
"fflate": "^0.8.3",
"hono": "^4.13.13",
"ioredis": "^6.0.0",
"postgres": "^3.4.9",
"sql.js": "^1.14.2",
"tree-sitter-c": "^0.24.1",
"tree-sitter-cpp": "^0.23.4",
"tree-sitter-python": "^0.25.0",
"web-tree-sitter": "^0.27.1",
"zod": "^4.6.6"
},
"devDependencies": {
"@types/sql.js": "^1.4.11",
"drizzle-kit": "^0.31.11",
"typescript": "^7.0.2"
}
}