Tag: performance

在numpy数组上映射函数的最有效的方法

在numpy数组上映射函数的最有效方法是什么? 我在当前项目中一直这样做的方式如下: import numpy as np x = np.array([1, 2, 3, 4, 5]) # Obtain array of square of each element in x squarer = lambda t: t ** 2 squares = np.array([squarer(xi) for xi in x]) 然而,这看起来可能是非常低效的,因为我使用列表parsing来构造新的数组作为Python列表,然后再将其转换回numpy数组。 我们可以做得更好吗?

Angular JS Scaling&Performance

我们正在用我们正在为银行build立的一个Angular应用程序来解决性能问题。 不幸的是,显示代码片段是违反合同的。 无论如何,我可以描述一些正在进行的主要问题,我希望可以推荐最佳做法。 应用结构: 本质上,一个巨大的多表格页面。 每种forms都是自己的部分,嵌套的控制器和局部约3层深。 在json对象的集合上重复相同的forms。 每个表单都绑定到重复的对象/模型。 我们应该支持页面上1-200个表单的任何地方。 如果你看看时间表。 我们花费了大量的时间在jQueryparsinghtml方法,jQuery重新计算stye方法,GC事件(垃圾收集)。 我想尽量减less这些应该加快一点点。 它们都是Angular生命周期的一部分,但是可能有更好的方法来避免它们。 这里是剖析器的一些截图: 最终,应用程序是缓慢的,因为重复forms的数量超过了5个。每个forms与其他forms是相对无关的。 我们已经尽量不要在表单之间观看任何共享属性。

在C#中,++ i和i ++之间有任何性能差异吗?

使用类似的东西有没有任何性能差异 for(int i = 0; i < 10; i++) { … } 和 for(int i = 0; i < 10; ++i) { … } 或者编译器是否能够在function上等同的情况下以同样快的速度进行优化? 编辑:这是因为我和同事讨论过这个问题,而不是因为我认为它在任何实际意义上都是有用的优化。 这主要是学术。

如何在R中更有效地将列表转换为matrix?

我有一个长度为130,000的列表,其中每个元素是长度为110的字符向量。我想将此列表转换为维度为1,430,000 * 10的matrix。 我怎样才能更有效地做到这一点? 我的代码是: output=NULL for(i in 1:length(z)) output=rbind(output,matrix(z[[i]],ncol=10,byrow=T))

为什么添加本地variables会使.NET代码变慢

为什么要评论这个for循环的前两行,并取消第二个42%加速的结果呢? int count = 0; for (uint i = 0; i < 1000000000; ++i) { var isMultipleOf16 = i % 16 == 0; count += isMultipleOf16 ? 1 : 0; //count += i % 16 == 0 ? 1 : 0; } 时序的背后是非常不同的汇编代码:循环中的13个指令和7个指令。 该平台是运行.NET 4.0 x64的Windows 7。 代码优化已启用,testing应用程序在VS2010之外运行。 [ 更新: Repro项目 ,用于validation项目设置。] 消除中间布尔值是一个基本的优化,是我1980年代龙书中最简单的一种。 在生成CIL或JITing x64机器码时,优化是如何不被应用的? […]

NumPy的math函数比Python更快吗?

我有一个由基本的math函数(abs,cosh,sinh,exp,…)组合定义的函数。 我想知道是否使用(例如, numpy.abs()而不是abs()什么numpy.abs() ?

最快的方法来检查一个string是否匹配正则expression式或不在ruby?

检查一个string是否与Ruby中的正则expression式匹配的最快方法是什么? 我的问题是,我必须通过一个巨大的string列表来“egrep”来查找哪些匹配在运行时给出的正则expression式。 我只关心string是否匹配正则expression式,而不是匹配的地方,匹配组的内容是什么。 我希望这个假设可以用来减less我的代码花费在匹配正则expression式上的时间。 我加载正则expression式 pattern = Regexp.new(ptx).freeze 我发现string =~ pattern比string.match(pattern)稍快。 还有其他的技巧或捷径可以用来使这个testing更快吗?

将DataRowCollection转换为DataRow

将DataRowCollection实例转换为DataRow []的最佳方式是什么?

在Python列表中交换元素的最快方法

有什么更快的方法来交换Python中的两个列表元素 L[a], L[b] = L[b], L[a] 或者我会不得不求助于Cython或编织或类似的?

最快的方法来生长一个numpy数组数组

要求: 我需要从数据中随意增长一个数组。 我可以猜测大小(大约100-200),不保证数组每次都适合 一旦它增长到最终的大小,我需要对它进行数值计算,所以我宁愿最终得到一个二维numpy数组。 速度至关重要。 例如,对于300个文件中的一个,update()方法被称为4500万次(大约需要150s),finalize()方法被称为500k次(总共需要106s)…总共250s或者。 这是我的代码: def __init__(self): self.data = [] def update(self, row): self.data.append(row) def finalize(self): dx = np.array(self.data) 其他的东西,我尝试包括以下代码…但这是waaaaay慢。 def class A: def __init__(self): self.data = np.array([]) def update(self, row): np.append(self.data, row) def finalize(self): dx = np.reshape(self.data, size=(self.data.shape[0]/5, 5)) 这里是一个如何调用的示意图: for i in range(500000): ax = A() for j in range(200): ax.update([1,2,3,4,5]) […]