我刚刚安装了最新版本的Notepad ++(v.6.8),我注意到了一些令人惊讶的事情.我已经使用Notepad ++一段时间了,由于各种原因,我习惯于从一个标签移动到另一个标签.
这是我的问题:当从一个标签切换到另一个标签,然后切换回我的初始标签(tab1 - > tab2 - > tab1)时,我注意到notepad ++没有在内存中保留指针在tab1上的位置,并且滚动我在tab1备份.
这很烦人,因为它迫使我每次切换标签时向下滚动回到我工作的地方.
有没有人注意到这种行为?可以在某处停用吗?
我最近在具有 2 个处理器的 Linux 服务器上进行了几次测试,每个处理器具有 20 个物理内核(下面给出了一个处理器的完整硬件描述)以及 20 个额外的逻辑内核(因此总共 80 个内核)。进行这项调查的原因是我在一个研究实验室工作,那里的大部分代码都是用 Python 编写的,并且我发现了许多与从计算机到另一台计算机的 Python 性能变化相关的在线帖子。
这是我的设置:
我对 numpy 和 scipy 的各种基本功能进行了比较,特别是:
scipy.sparse.linal.spsolve : 线性系统 (Ax=b) 的解,其中 A 为 68000x68000 稀疏矩阵,xa 为 68000x50 稀疏矩阵, scipy.sparse.linalg.eigsh : 68000x68000 稀疏矩阵的广义特征值问题的解决方案,numpy.dotscipy.linalg.cholesky 和 scipy.linalg.svd基本上,考虑到测试脚本timeit的默认执行及其使用不同数量(x-1)的内核执行,我决定为每个版本的 Python运行测试脚本(每个运行 25 到 100 次以获取相关结果)命令taskset --cpu-list 0-x ...。
以下是我的结果的简要总结:
scipy.sparse.linal.spsolve …从这个mwe:
a=np.zeros((5,5))
b=np.zeros((2,2))
a=np.matrix(a)
b=np.matrix(b)
b[0,0]=4
b[1,1]=9
b[0,1]=7
indice=[2,3]
# 1
c=a[indice,:][:,indice]
c=b
print c
# 2
a[indice,:][:,indice]=b
print a[indice,:][:,indice]
Run Code Online (Sandbox Code Playgroud)
我得到:
>>> c
matrix([[ 4., 7.],
[ 0., 9.]])
Run Code Online (Sandbox Code Playgroud)
和:
>>> a[indice,:][:,indice]
matrix([[ 0., 0.],
[ 0., 0.]])
Run Code Online (Sandbox Code Playgroud)
我不明白为什么值一保持零。如果分两步完成类似的操作,则一切正常:
>>> for k in range(len(indice)):
... a[indice[k],indice]=b[k,:]
Run Code Online (Sandbox Code Playgroud)
我得到:
>>> a
matrix([[ 0., 0., 0., 0., 0.],
[ 0., 4., 0., 7., 0.],
[ 0., 0., 0., 0., 0.],
[ 0., 0., 0., 9., 0.],
[ 0., 0., 0., 0., …Run Code Online (Sandbox Code Playgroud)