2

弄清楚为什么这么慢?我想使用 line_profiler 分析我的示例生成。

但是,我无法让它工作。这是我尝试过的:

  1. kernprof -m pytest -n 3 tests/test_conv.py --hypothesis-profile default
  2. pytest -m line_profiler -n 3 tests/test_conv.py --hypothesis-profile default
  3. python3 -m line_profiler -m pytest -n 3 tests/test_conv.py --hypothesis-profile default
  4. https://pypi.org/project/pytest-line-profiler/

这些都没有奏效。前三个立即失败,要么不知道,要么不知道@profilepytest 或 line_profiler IIRC。

如何让这三个人一起合作?我对 Nr 寄予厚望。4,但是它的文档指出您可能需要注释您的测试函数:

@pytest.mark.line_profile.with_args(f, g)

但是我的参数是由假设提供的,所以我尝试了

@pytest.mark.line_profile

什么也没做。

我还尝试了使用命令行的替代方法:

pytest --line-profile path.to.function_to_be profiled [...]

但是,我无法弄清楚path.to.function_to_be profiled我的情况是什么。我的测试函数位于tests/test_conv.py并命名为test_padding. 然而,既不

pytest -n auto --line-profile test_padding tests/test_conv.py --hypothesis-profile default

也不

pytest -n auto --line-profile test_conv.test_padding tests/test_conv.py --hypothesis-profile default

工作。两个错误都说他们找不到那个功能。

因此我问:如何?

安装的是(通过 pip):

pytest
pytest-xdist[psutil]
hypothesis

line_profiler
pytest-line-profiler
4

0 回答 0