小编MRo*_*lin的帖子

像nosetests一样的Python基准测试工具?

我想要的是

我想为我的Python项目创建一组基准.我希望看到这些基准测试的性能随着我引入新代码而改变.我想以与测试Python相同的方式执行此操作,方法是运行实用程序命令,nosetests并获得格式良好的读数.

我喜欢什么 nosetests

nosetests工具通过在我的目录结构中搜索任何命名的函数test_foo.py并运行其中test_bar()包含的所有函数来工作.它运行所有这些函数并打印出它们是否引发了异常.

我想要类似的东西搜索所有文件bench_foo.py并运行所有包含的函数bench_bar()并报告它们的运行时.

问题

这样的工具存在吗?

如果不是什么好的起点?有些nose来源适合这个吗?

python testing benchmarking nosetests

8
推荐指数
1
解决办法
1438
查看次数

Pandas 如何在内部为合并/连接分配内存?

Pandas 内部函数如何为输出行数不确定的操作分配内存?例如,当连接两个数据帧时,输出行数取决于输入的值。在完成连接之前,您并不真正知道会有多少行。Pandas 会执行两次传递吗?它使用动态数据结构吗?如果有,是哪一个?

pandas

8
推荐指数
1
解决办法
150
查看次数

Clojure的`core.logic`中的目标排序

以下Clojure代码用于core.logic在两个不同的顺序中解决具有相同目标的相同逻辑问题.这种订购选择导致一个快速完成而另一个挂起.

(use `clojure.core.logic)

;; Runs quickly.  Prints (1 2 3).
(clojure.pprint/pprint (run* [q] (fresh [x] (== x [1,2,3]) 
                                            (membero q x))))

;; Hangs
(clojure.pprint/pprint (run* [q] (fresh [x] (membero q x) 
                                            (== x [1,2,3]))))
Run Code Online (Sandbox Code Playgroud)

是否有一般解决方案或通常的做法来避免这个问题?

clojure logic-programming clojure-core.logic

7
推荐指数
2
解决办法
457
查看次数

Graphviz中的图形图

我有一组用DOT语言编码的有向图.我想构建一个图形图形,使得超图中的每个节点都是这些有向图之一.有没有办法在GraphViz框架内执行此操作?

我知道这gvpack将允许我将多个图组装成一个.dot文件.但我不知道它是否允许我在这些图之间声明边缘.

dot graphviz

7
推荐指数
1
解决办法
3609
查看次数

Spawn multiprocessing.Process在不同的python可执行文件下使用自己的路径

我有两个版本的Python(这些实际上是两个conda环境)

/path/to/bin-1/python
/path/to/bin-2/python
Run Code Online (Sandbox Code Playgroud)

从一个版本的python我想要使用像multiprocessing.Process对象之类的东西启动一个在另一个版本中运行的函数.事实证明,这是可行的使用set_executable方法:

ctx = multiprocess.get_context('spawn')
ctx.set_executable('/path/to/bin-2/python')
Run Code Online (Sandbox Code Playgroud)

事实上,我们可以看到这实际上是使用该可执行文件启动的:

def f(q):
    import sys
    q.put(sys.executable)

if __name__ == '__main__':
    import multiprocessing
    ctx = multiprocessing.get_context('spawn')
    ctx.set_executable('/path/to/bin-2/python')
    q = ctx.Queue()
    proc = ctx.Process(target=f, args=(q,))
    proc.start()
    print(q.get())

$ python foo.py
/path/to/bin-2/python
Run Code Online (Sandbox Code Playgroud)

但路径错了

但是,当我做同样的事情,sys.path而不是sys.executable我发现托管python进程的sys.path打印出来,而不是我会发现/path/to/bin-2/python -c "import sys; print(sys.path)"直接运行的sys.path .

如果我使用fork,我习惯了这种事情.我本来希望我的'spawn'行为与从shell中输入python解释器一样.

是否可以使用多处理库来运行函数,并使用其他Python可执行文件中的队列以及从shell启动它时所具有的环境?

更广泛地说,如何填充sys.path以及以这种方式使用多处理和直接启动解释器之间有什么不同?

python conda python-multiprocessing

7
推荐指数
1
解决办法
751
查看次数

Dask.distributed的扩展限制是多少?

Dask.distributed部署有数百个工作节点的传闻吗?分布是否意味着扩展到这个大小的集群?

python distributed-computing dask

7
推荐指数
1
解决办法
438
查看次数

在 sphinx 文档中包含独立的 HTML 页面

对于我的项目的大部分文档,我更喜欢标准的 sphinx 布局。然而,对于登陆页面,我更喜欢使用自定义 HTML/CSS/JS,而不使用普通 sphinx 网站的任何布局、目录或侧边栏。有没有一种方法可以在 sphinx 生成的网站中包含原始 HTML 独立页面,而完全忽略网站其余部分的正常布局?

作为一个反例,我知道我可以使用以下内容将原始 HTML 位包含到页面中(另请参阅此问题

.. raw:: html
   :file: myfile-html
Run Code Online (Sandbox Code Playgroud)

然而,这只是将文件嵌入到正常布局中。我想要一个完全独立的 HTML 页面。

html python-sphinx

7
推荐指数
1
解决办法
6786
查看次数

查询以列出Datomic中的所有分区

列出Datomic数据库的所有分区的查询是什么?

这应该回来了

[[:db.part/db] [:db.part/tx] [:db.part/user] .... ]
Run Code Online (Sandbox Code Playgroud)

....所有用户定义的分区在哪里.

database clojure datomic

6
推荐指数
1
解决办法
1020
查看次数

MATLAB中整数值矩阵的乘法

在MATLAB中乘以整数值矩阵的最佳方法是什么?

我很惊讶地发现以下行为不被接受:

>> x = int64([1, 2])
>> x * x'
Error using  * 
MTIMES is not fully supported for integer classes. At least one input must be scalar.
To compute elementwise TIMES, use TIMES (.*) instead.
Run Code Online (Sandbox Code Playgroud)

我总是可以转换成双倍然后再回来.这是最好的解决方案吗?我正在使用R2013b.

matlab matrix matrix-multiplication

6
推荐指数
1
解决办法
4763
查看次数

改进IPython小部件中Pandas DataFrame的HTML样式

如何生成适当的HTML以交给ipywidgets.HTML对象以正确显示Pandas DataFrame?

在此输入图像描述

pandas jupyter-notebook ipywidgets

6
推荐指数
1
解决办法
1315
查看次数