Hasty Briefsbeta

双语

Show HN: Tacopy – Tail Call Optimization for Python

3 months ago
  • #Python
  • #Optimization
  • #Recursion
  • Tacopy是一个Python库,通过将尾递归函数转换为迭代循环来优化其性能
  • 通过处理超出Python默认限制的深度递归,有效防止栈溢出错误
  • 提供性能提升,使函数执行速度比标准递归快1.41至2.88倍
  • 包含验证机制,确保函数在转换前是严格尾递归的
  • 保留函数元数据(如文档字符串和类型提示)且无运行时开销
  • 支持pip或uv一键安装,使用只需用@tacopy装饰目标函数
  • 演示案例涵盖阶乘、斐波那契数列、最大公约数和求和计算
  • 当前限制包括仅支持模块级函数、不支持异步、要求Python 3.10+版本
  • 配备完整测试套件和基准测试,显示显著的加速效果
  • 采用GNU GPL v3.0开源协议,欢迎社区贡献