searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

python3性能加速几种方式及性能(二)

2023-04-24 06:23:20
11
0

本次测试matx库。该库由字节跳动开源,首先会将要优化的代码编译成c++。然后通过编译c++为扩展的方式,使用他们自己的pipline进行调用。

优点:近乎于扩展的速度,近乎0学习成本。只要将变量类型进行定义即可

缺点:数字类型最多只支持到int64位(可能版本问题)。基本都是为了机器学习而优化。导致大部分公共库都不支持。

安装就不赘述。直接上测试代码。后续会进行性能对比。

import timeit
import matx

def fib(n: int) -> int:
    ret :int = 0
    for x in range(n + 1):
        ret += 1
    return ret


def main():
    fib_script = matx.script(fib)
    #print(f'Matx execution time: {timeit.timeit(lambda: fib_script(30), number=10)}s') # 0.03s
    print(fib_script(9999))

if __name__ == '__main__':

    main()
0条评论
0 / 1000
s****n
6文章数
0粉丝数
s****n
6 文章 | 0 粉丝
原创

python3性能加速几种方式及性能(二)

2023-04-24 06:23:20
11
0

本次测试matx库。该库由字节跳动开源,首先会将要优化的代码编译成c++。然后通过编译c++为扩展的方式,使用他们自己的pipline进行调用。

优点:近乎于扩展的速度,近乎0学习成本。只要将变量类型进行定义即可

缺点:数字类型最多只支持到int64位(可能版本问题)。基本都是为了机器学习而优化。导致大部分公共库都不支持。

安装就不赘述。直接上测试代码。后续会进行性能对比。

import timeit
import matx

def fib(n: int) -> int:
    ret :int = 0
    for x in range(n + 1):
        ret += 1
    return ret


def main():
    fib_script = matx.script(fib)
    #print(f'Matx execution time: {timeit.timeit(lambda: fib_script(30), number=10)}s') # 0.03s
    print(fib_script(9999))

if __name__ == '__main__':

    main()
文章来自个人专栏
python性能优化
6 文章 | 1 订阅
0条评论
0 / 1000
请输入你的评论
0
0