草庐IT

emp_performance

全部标签

performance - 我应该更喜欢跨一次内存访问来读取还是写入?

众所周知,以一种跨步方式访问内存最有利于性能。在以下情况下我必须访问一个内存区域才能阅读,我必须访问另一个区域进行写作,并且我只能以一种跨步方式访问两个区域之一,我应该更喜欢阅读strideone还是写作strideone?一个简单而具体的例子是类似BLAS的复制和置换操作,如y:=Px。置换矩阵P完全由某个置换向量q(i)定义。它有一个对应的逆置换向量qinv(i)。可以将所需的循环编码为y[qinv(i)]=x[i]或y[i]=x[q(i)]其中前者从x读取步幅一,后者写入到y步幅一。理想情况下,始终可以对这两种可能性进行编码,在有代表性的条件下对其进行分析,然后选择更快的版本。假

performance - 当mongodb内存不足时会发生什么?

例如,我有20GB数据的数据库,只有2GB内存,交换已关闭。我能找到并插入数据吗?性能会有多差? 最佳答案 最好用谷歌搜索,但许多消息来源说,当您的工作集超出RAM大小时,性能会显着下降。分片可能是一个有趣的选择,而不是添加更多的RAM..http://www.mongodb.org/display/DOCS/Checking+Server+Memory+Usagehttp://highscalability.com/blog/2011/9/13/must-see-5-steps-to-scaling-mongodb-or-any-

performance - JavaFX 吃掉我的内存?

在对标题感到沮丧之前,我想澄清一下我是JavaFXUI的新手。我作为一名开发人员已经9年了,使用Swing,目前我决定尝试使用JavaFX。网上的例子表明,与Swing相比,JavaFX确实可以创建漂亮的GUI。也许我试图以错误的方式创建和部署GUI,但有一件事是肯定的。JavaFXPane的加载速度比Swing慢,并且消耗更多的内存。使用JAVAFX重新设计了相同的GUI,它需要将近200Mb,而SwingGUI只需要50Mb。这里我给出一个代码示例,说明如何使用FXML以编程方式创建GUI。publicclassPanelCreator{privateFXMLPaneloginFX

performance - 内存分配功能是否表示不再使用内存内容?

在处理某些数据流(例如来自网络的请求)时,通常使用一些临时内存。例如,一个URL可以拆分为多个字符串,每个字符串都可能从堆中分配内存。这些实体的使用通常是短暂的,总内存量通常相对较小,应该适合于CPU缓存。此时,用于临时字符串的内存被释放,字符串内容很可能只存在于缓存中。但是,CPU不知道正在释放的内存:释放只是内存管理系统中的一个更新。因此,当CPU缓存用于其他内存时,CPU可能会不必要地将未使用的内容写入实际内存,除非内存释放以某种方式向CPU指示内存不再使用。因此,问题变成:内存管理功能释放内存是否表示可以丢弃相应内存的内容?是否有一种方法可以向CPU指示内存不再使用?(至少,对

ms-access - 微软 Access : There isn't enough memory to perform this operation

我在具有4GBRAM的双核机器上使用Access2003,运行WindowsXP(ServicePack3)[5.1.2600]定期,我收到一条错误消息“没有足够的内存来执行此操作。关闭不需要的程序并重试该操作。”检查任务管理器表明有大量可用内存。关闭其他打开的程序没有区别。这种情况偶尔会发生,并且在不同的情况下:有时在保存表单设计或VBA代码更改时,有时在打开并使用多个表单时。如果尝试保存设计更改并发生此错误,则Access对象已损坏且无法恢复。非常欢迎就可能导致此问题的原因提出任何建议。MTIA 最佳答案 您前端的VBA项目可能

performance - 内存与性能

这一直是我编程时的想法,所以我想我会在它真正到达我之前把它吐出来。我应该更担心什么?应用程序消耗的内存,或者它所需要的性能。我的意思是我应该专注于为应用程序使用更少的内存并使用更多的性能(例如,通过数据库加载,并在使用后转储它),还是使用更少的性能并使用更多的内存(例如缓存)我的申请条件:-这是一个服务器应用程序,所以它不打算在台式机等上运行,我有6GB的内存,我有一个四核。 最佳答案 您的问题引起了很多禅宗式的回答。我希望做得更好。你的内存限制是硬的:如果你超过了它,即使有虚拟内存,你的应用也会爬,你会成为所有人的笑柄。您的CPU

performance - Haskell 的局部属性是什么?

现代CPU已经过优化,因此访问和修改内存中的同一位置(时间局部性)以及内存中的连续位置(空间局部性)是非常快速的操作。现在,由于Haskell是一种纯粹不可变的语言,你自然不能覆盖现有的内存块,这可能会使像foldl这样的东西比带有a的for循环慢得多连续访问的结果变量将在C中。Haskell是否在内部采取任何措施来减轻这种性能损失?总的来说,它关于局部性的属性是什么? 最佳答案 一般规则是,对于“普通”Haskell编程,您几乎无法(如果有的话)控制内存布局和内存位置。但是,确实存在许多允许此类控制的更高级功能,以及在这些功能之上

performance - gcc 可能不太可能使用宏

我正在编写一段关键的代码,其逻辑大致如下if(expressionistrue){//dosomethingwithextremelylowlatencybeforethenukeblowsup.Thisbranchisenteredrarely,butitisthemostimportantcase}else{//dounimportantthingthatdoesntreallymatter}我正在考虑在表达式周围使用likely()宏,因此当它到达重要分支时,我会得到最小的延迟。我的问题是,它的用法与建议的宏名称完全相反,因为我选择unlikely分支进行预取,即不太可能发生重要

performance - 我应该养成删除 R 中未使用的变量的习惯吗?

目前我正在处理相对较大的数据文件,并且我的计算机不是super计算机。我正在临时创建这些数据集的许多子集,并且不会将它们从工作区中删除。显然,这些因素使许多变量变得困惑。但是,有许多未使用的变量对R的性能有什么影响吗?(即计算机的内存是否会在某个时候填满?)在编写代码时,我应该养成删除未使用变量的习惯吗?值得吗?x我不想在我的代码中添加另一行。与其让我的代码看起来杂乱无章,我更喜欢我的工作区杂乱无章(如果没有性能改进的话)。 最佳答案 是的,有未使用的对象会影响你的性能,因为R将它的所有对象都存储在内存中。显然,小对象的影响可以忽略

performance - 如何检查应用程序是否受 CPU 限制或内存限制?

我有一个应用程序,它只做很少的计算CPU工作,但主要是内存访问(分配对象和移动它们,很少有数字或算术代码)。在CPU空闲的情况下,我如何衡量我花费在内存访问延迟(由于缓存未命中)上的时间份额?我应该注意到该应用程序在Hyper-V客户机上运行;我不确定这会带来什么困难,但它可能会。 最佳答案 您总是可以profile您的应用程序以查看它大部分时间都花在了哪里。您可以通过这种方式了解很多有关应用程序行为和数据访问模式的信息。如果您使用的是Linux,则可以使用多种可用的分析工具,例如:OProfilesysprofvalgrind+k