dan*_*451 4 python makefile compilation
我使用以下源代码编译 Python 3.6:
./configure --enable-optimizations --prefix=/local/py/path
make -j8
Run Code Online (Sandbox Code Playgroud)
编译本身在传递-j8到make. 但是,由于我也使用--enable-optimizations我读到不建议跳过测试,但是测试按顺序运行并且仅在一个线程上运行,从而导致编译时间很长。
有什么我可以做的让测试在多个线程上执行吗?
我构建 Python 的频率并不高,不足以促使我仔细查看(每次发布后一两次),但你给了我额外的冲动,我也闲逛了一下。
我认为您指的是(当前)作为构建默认目标的一部分执行的 406 测试。那将意味着它的run_profile_task目标Makefile。它python -m test.regrtest --pgo与您在PROFILE_TASKmake 变量中定义的新构建的解释器一起运行。
长话短说,而不是:
make -j8
Run Code Online (Sandbox Code Playgroud)
你可以运行:
make PROFILE_TASK="-m test.regrtest --pgo -j8" -j8
Run Code Online (Sandbox Code Playgroud)
它只是重复默认定义(截至目前)并附加-j8,这与 make 使用的相同。
由于我是一个好奇的人,我不得不尝试比较两者。在我目前启动的机器上(不是非常强大的笔记本电脑),它将回归测试时间从 ~23 分钟减少到 ~8 分钟。所以,谢谢你找个借口环顾四周,这可能会派上用场。:)