Files
TransPyC/_bench_vast_c_pure.py
T
2026-08-22 02:35:30 +08:00

37 lines
929 B
Python

"""vast_c vs 纯 Python vast 对照基准(VAST_USE_C 开关)"""
import os
import sys
import time
sys.path.insert(0, r'd:\Users\TermiNexus\Desktop\TransPyC')
sys.path.insert(0, r'd:\Users\TermiNexus\Desktop\TransPyC\lib')
import vast
Parts = []
for I in range(50):
Parts.append(f'def F{I}(A: int, B: float = 1.5) -> str:')
Parts.append(' X = A + B * 2')
Parts.append(' if X > 10:')
Parts.append(' return "big"')
Parts.append(' return "small"')
Src = '\n'.join(Parts)
N = 30
os.environ['VAST_USE_C'] = '0'
T0 = time.perf_counter()
for _ in range(N):
vast.parse(Src)
T1 = time.perf_counter()
os.environ['VAST_USE_C'] = 'strict'
for _ in range(N):
vast.parse(Src)
T2 = time.perf_counter()
PyMs = (T1 - T0) / N * 1000
CMs = (T2 - T1) / N * 1000
print(f'纯Python vast : {PyMs:.3f} ms/次')
print(f'vast_c : {CMs:.3f} ms/次')
print(f'加速比 : {PyMs / CMs:.1f}x')