基线重置,TransPyC 不再作为直接脚手架主仓库

This commit is contained in:
TermiNexus committed 2026-09-09 14:44:44 +08:00
1 parent 7ab8bef3b5
commit a433f79f54
3250 files changed
+109 -681665

No files matched your search

-56
View File
@@ -1,56 +0,0 @@
#!/usr/bin/env python3
"""ProjectTrans.py - 工程级 TransPyC 翻译器"""
import lib._bootstrap # noqa: F401 设置 sys.path(项目根 + lib/includes)
from lib.Projectrans import (
compute_sha1, _check_annotation_for_export, sha1_file,
get_file_dependencies, find_reachable_files_from_entries,
topological_sort_files, Phase1Generator, DeclarationGenerator,
Phase2Translator, _parallel_translate_worker,
save_sha1_map, Load_sha1_map, get_sha1_map_store, clear_sha1_map_store,
Load_project_config, resolve_paths, main
)
__all__ = [
'compute_sha1', '_check_annotation_for_export', 'sha1_file',
'get_file_dependencies', 'find_reachable_files_from_entries',
'topological_sort_files', 'Phase1Generator', 'DeclarationGenerator',
'Phase2Translator', '_parallel_translate_worker',
'save_sha1_map', 'Load_sha1_map', 'get_sha1_map_store', 'clear_sha1_map_store',
'Load_project_config', 'resolve_paths', 'main'
]
if __name__ == '__main__':
# 主进程性能剖析:整次编译过程(Phase1 声明生成 + Phase2 翻译/编译/链接)
# 自动导出 cProfile dump 到 ./PROF/main_prof_{pid}.prof(与 worker 子进程
# worker_prof_*.prof 同目录,可用 PROF/1.py 合并分析)。主进程 profile 主要
# 覆盖 Phase1/依赖扫描/编译调度/链接等主进程侧耗时;worker 内部 CPU 分布
# 仍由 _ProfileWorker 的 worker_prof_*.prof 覆盖(多进程下主进程 cProfile
# 看不到子进程内部热点,两者互补)。
import cProfile as _cProfile
import os as _os
import sys as _sys
import time as _time
from lib.Projectrans.Phase2Translator import PROF_DIR as _PROF_DIR
_main_prof: _cProfile.Profile = _cProfile.Profile()
_main_prof.enable()
_start_ts: float = _time.perf_counter()
try:
main()
_timing_status: str = '成功'
except BaseException:
_timing_status = '失败'
raise
finally:
_main_prof.disable()
_elapsed_s: float = _time.perf_counter() - _start_ts
_timing_msg: str = f'[TIMING] 编译{_timing_status},总耗时 {_elapsed_s:.2f}s'
print(_timing_msg, file=_sys.stderr)
try:
_os.makedirs(_PROF_DIR, exist_ok=True)
_main_prof.dump_stats(_os.path.join(_PROF_DIR, f'main_prof_{_os.getpid()}.prof'))
with open(_os.path.join(_PROF_DIR, 'main_time.txt'), 'w', encoding='utf-8') as _tf:
_tf.write(f'{_timing_status}\t{_elapsed_s:.2f}\n')
except Exception:
pass