小编ger*_*jan的帖子

javascript代码,以防止屏幕保护程序启动

我是javascript编程的新手,我有一个问题,我无法在任何地方找到答案.

我最近整理了一个简单的幻灯片,以远程查看我在家用计算机上托管的照片.这本身就可以.我遇到的问题是,当我查看照片时,我不会与硬件交互,这会在一段时间后导致显示器关闭.在我的手机上观看照片时,这尤其令人讨厌.

我的问题是:有没有办法防止这种情况发生?每次刷新照片时,我都在考虑伪造鼠标或其他事件的方向,但我不知道如何做到这一点,如果有可能的话.

任何帮助是极大的赞赏!

javascript keep-alive screensaver

12
推荐指数
2
解决办法
4688
查看次数

栅格化matplotlib轴内容(但不是帧,标签)

对于一篇文章,我正在生成变形的有限元网格图,我使用matplotlib的polycollection进行可视化.图像保存为pdf.

高密度网格出现了问题,对于这种网格来说,天真的方法导致文件太大而且渲染太密集而不实用.

对于这些网格,将每个元素绘制为多边形是没有意义的; 它很容易被光栅化,就像将图像保存为jpg或png时所做的那样.但是,对于打印,我想保留一个清晰的框架,标签和注释.

有谁知道在matplotlib中是否有可能实现这种混合光栅化?

我可以想到涉及imshow和绕过polycollection的解决方案,但我更喜欢使用matplotlib的内置组件.

谢谢你的建议.

python plot matplotlib vector-graphics rasterizing

10
推荐指数
1
解决办法
1798
查看次数

NUMA 硬件上的内存分配和访问

我正在用 python 开发一个科学计算工具,它应该能够在 NUMA 共享内存环境中的多个内核上分配工作。我正在研究最有效的方法。

由于 python 的全局解释器锁,线程 - 不幸的是 - 不在游戏中,这让叉子成为我唯一的选择。对于进程间通信,我想我的选择是管道、套接字或 mmap。如果此列表中缺少某些内容,请指出。

我的应用程序将需要在进程之间进行相当多的通信,并访问一定数量的公共数据。我主要关心的是延迟。

我的问题:当我 fork 一个进程时,它的内存会位于它分配到的核心附近吗?作为写入时 *nix 副本中的 fork,最初我认为情况并非如此。我是否想强制复制以加快内存访问速度,如果是这样,最好的方法是什么?如果我使用 mmap 进行通信,该内存是否仍可以分布在核心上还是位于单个核心上?是否有透明地重新定位数据以优化访问的过程?有没有办法直接控制物理分配,或者有办法请求有关分配的信息以帮助优化?

在更高的层次上,这些东西中哪些是由我的硬件决定的,哪些是由操作系统决定的?正在买高端多路机,怀疑AMD皓龙和英特尔至强。特定硬件对上述任何问题的影响是什么?

python fork ipc shared-memory numa

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

麻烦了解python的gc.garbage(用于跟踪内存泄漏)

我的一个python应用程序似乎泄漏内存,从稳定增加的内存使用量来判断.我的假设是某个地方的循环引用,尽管尽最大努力避免这种情况.为了隔离问题,我正在研究手动检查无法访问的项目的方法,这是一种纯粹针对调试的工具.

gc模块似乎能够进行必要的跟踪,我尝试了以下代码,旨在编译自上次调用以来形成的不可缓存项目列表.第一个调用仅设置基本检查点,不会识别无法访问的项目.

def unreachable():
  # first time setup
  import gc
  gc.set_threshold( 0 ) # only manual sweeps
  gc.set_debug( gc.DEBUG_SAVEALL ) # keep unreachable items as garbage
  gc.enable() # start gc if not yet running (is this necessary?)
  # operation
  if gc.collect() == 0:
    return 'no unreachable items'
  s = 'unreachable items:\n ' \
    + '\n '.join( '[%d] %s' % item for item in enumerate( gc.garbage ) )
  _deep_purge_list( gc.garbage ) # remove unreachable items
  return s # return unreachable items …
Run Code Online (Sandbox Code Playgroud)

python garbage-collection memory-leaks

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

Matlab中的对象数组效率

对于我的工作,我必须在Matlab中设置一个项目,这不是我选择的语言,我对效率有一些疑问.

我目前正在处理具有多个属性的点集合.而不是将所有这些放在相同长度的单独数组中,我更倾向于使用Matlab的用户定义类来创建Point对象的单个数组.例如:

% Point.m
classmethod Point < handle
  properties
    x, y, prop1, prop2
  end
end

% script.m
... % define x(100), y(100), prop1(100), prop2(100)
points(100) = Point; % this seems to be the way to allocate an object vector
for i = 1:100
  points(i).x = x(i); % copy values into object
  points(i).y = y(i);
  points(i).prop1 = prop1(i);
  points(i).prop2 = prop2(i);
end
Run Code Online (Sandbox Code Playgroud)

我更喜欢上述的原因是审美(对象应该是对象)和实用,因为它允许我轻松地创建点的子集而无需索引几个不同的数组.

然而,我想知道它是否是最有效的做事方式,考虑到点数可能会在数千或数万个数量级上变得非常大.我的主要问题是:

  1. 据我所知:Matlab如何在内存中存储对象数组?它如何处理依赖于prop1的不同对象大小,例如,结构?
  2. 这对[points.x]这样的操作有什么影响,我需要经常做些什么?这被认为是一种有效的操作吗?
  3. 有没有更好的方法来初始化对象数组?上述循环结构似乎非常低效.
  4. 我想应该可以模拟类似对象的行为,同时更有利地存储属性,可能是通过重载subsref.你会推荐吗?

或者更通用一些:组织我的观点的最佳方式是什么?

期待您的建议!

performance matlab object

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

左侧二元算子的numpy强制问题

我正在实现一个类似数组的对象,它应该可以与标准的numpy数组互操作.我刚刚遇到一个令人烦恼的问题,缩小到以下几点:

class MyArray( object ):
  def __rmul__( self, other ):
    return MyArray() # value not important for current purpose

from numpy import array
print array([1,2,3]) * MyArray()
Run Code Online (Sandbox Code Playgroud)

这会产生以下输出:

[<__main__.MyArray instance at 0x91903ec>
 <__main__.MyArray instance at 0x919038c>
 <__main__.MyArray instance at 0x919042c>]
Run Code Online (Sandbox Code Playgroud)

很明显,不是MyArray().__rmul__( array([1,2,3]) )像我希望的那样调用,而是调用__rmul__数组的每个元素,并将结果包装在一个对象数组中.这在我看来不符合python的强制规则.更重要的是,它使我的左乘法无用.

有人知道解决这个问题吗?

(我认为可以使用它修复它,__coerce__但是链接文档解释了为了响应二元运算符而不再调用它...)

python numpy coercion

5
推荐指数
1
解决办法
164
查看次数

bash完成_parse_help坏了吗?

为了方便我的脚本命令行开关的bash完成,我一直在/ etc/bash_completion(debian sid,bash v4.2-1,bash-completion v1:1.99-3)中探索_parse_help函数.

我的脚本生成一个帮助消息,我认为是标准的GNU格式:

MYSCRIPT [OPTIONS]

Usage:
  -h, --help     Show this help message
  -o, --option   Some option
Run Code Online (Sandbox Code Playgroud)

然后我通过激活完成complete -F _parse_help ./myscript.

不幸的是,这并没有产生预期的结果.在第一个选项卡上./myscript <TAB>(注意,只需一个按键),将显示一个未格式化的列表,其中包含--help和--option,而不是缩短的版本.更糟糕的是,任一选项的完成都失败了.实际上,只需键入短划线就会导致_parse_help完全停止生成输出.

整个事情感觉非常破碎,我在网上找不到太多的参考.这个功能可能被认为是过时的吗?是否有另一种基于解析的命令行完成的标准方法--help输出?

bash command-line-arguments command-line-parsing bash-completion

2
推荐指数
1
解决办法
569
查看次数