From e01a06f3371a7720b2b87e762b26e9d601ee3c34 Mon Sep 17 00:00:00 2001 From: Flynnon <1553669019@qq.com> Date: Sun, 5 May 2019 00:16:35 +0800 Subject: [PATCH] Update p14_make_your_program_run_faster.rst --- source/c14/p14_make_your_program_run_faster.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/source/c14/p14_make_your_program_run_faster.rst b/source/c14/p14_make_your_program_run_faster.rst index 4f8c300..3c5ac6c 100644 --- a/source/c14/p14_make_your_program_run_faster.rst +++ b/source/c14/p14_make_your_program_run_faster.rst @@ -13,7 +13,7 @@ 关于程序优化的第一个准则是“不要优化”,第二个准则是“不要优化那些无关紧要的部分”。 如果你的程序运行缓慢,首先你得使用14.13小节的技术先对它进行性能测试找到问题所在。 -通常来讲你会发现你得程序在少数几个热点地方花费了大量时间, +通常来讲你会发现你得程序在少数几个热点位置花费了大量时间, 比如内存的数据处理循环。一旦你定位到这些点,你就可以使用下面这些实用技术来加速程序运行。 **使用函数** @@ -116,7 +116,7 @@ result_append(sqrt(n)) return result -在这个版本中,``sqrt`` 从 ``match`` 模块被拿出并放入了一个局部变量中。 +在这个版本中,``sqrt`` 从 ``math`` 模块被拿出并放入了一个局部变量中。 如果你运行这个代码,大概花费25秒(对于之前29秒又是一个改进)。 这个额外的加速原因是因为对于局部变量 ``sqrt`` 的查找要快于全局变量 ``sqrt`` @@ -234,7 +234,7 @@ 如果你的优化要求比较高,本节的这些简单技术满足不了,那么你可以研究下基于即时编译(JIT)技术的一些工具。 例如,PyPy工程是Python解释器的另外一种实现,它会分析你的程序运行并对那些频繁执行的部分生成本机机器码。 它有时候能极大的提升性能,通常可以接近C代码的速度。 -不过可惜的是,到写这本书位置,PyPy还不能完全支持Python3. +不过可惜的是,到写这本书为止,PyPy还不能完全支持Python3. 因此,这个是你将来需要去研究的。你还可以考虑下Numba工程, Numba是一个在你使用装饰器来选择Python函数进行优化时的动态编译器。 这些函数会使用LLVM被编译成本地机器码。它同样可以极大的提升性能。