TermiNexus
3aebf402bb
perf(compile): worker 进程级复用 Phase2Translator,消除每文件重复 pickle.load
cProfile 显示 ~163s 墙钟在 ProcessPool 等待(非计算)。App 阶段 200+ 文件分散到 worker,原实现每个任务都新建 Phase2Translator 并 pickle.load 2.5MB 共享符号表(_shared_sym.json)→ 每 worker 12+ 次重复反序列化。
- _parallel_translate_worker 增加进程级缓存:以 shared_sym_pickle_path 为 key,首次遇到才创建 trans + 加载 pickle,后续任务直接复用 trans._translate_file
- _translate_file 每次新建内部 TransPyC 且对 self 的写均为覆盖型(translator 引用/错误栈),复用安全
- App/includes 两阶段 pickle 路径不同,key 变化时每 worker 各自重建一次
2026-08-17 19:04:22 +08:00
..
2026-07-30 16:33:56 +08:00
2026-08-17 09:36:38 +08:00
2026-08-17 09:36:38 +08:00
2026-08-17 19:04:22 +08:00
2026-08-17 09:36:38 +08:00
2026-08-17 09:36:38 +08:00
2026-07-18 19:25:40 +08:00
2026-08-17 18:56:55 +08:00
2026-08-17 09:36:38 +08:00
2026-08-17 09:36:38 +08:00