"""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')