草庐IT

PERFORMANCE

全部标签

java - 类、静态方法或实例方法 - 编译语言中的内存消耗和可执行文件大小?

我一直想知道如何尝试提高我的Flexswf的性能和大小,类与静态方法与实例方法如何影响性能和最终编译的“可执行文件”的大小?思考如何应用类似HAML的东西和Sass弯曲...假设我正在构建一个包含大量组件和View的非常大的管理界面,并且每个组件都应用了一个Skin对象(考虑SparkSkinningArchitectureforFlex)。现在我想为每个皮肤添加10种不同的效果(假设屏幕上有100个组件,所以有1000个实例化效果)。是否更好:让每个效果成为一个类(BlurEffect、GlowEffect...),并将这10个添加到皮肤。让所有Effects成为一个更大类中的实例方

java - JNI : Overhead of holding Java object references within the native code?

我正在研究通过JNI将JRE集成到C++应用程序中。在C++应用程序中持有对Java对象的大量引用(JNI术语中的全局引用)的开销是多少?使用这种方法我应该注意什么问题(除了显而易见的问题,例如手动取消分配引用)吗? 最佳答案 (a)开销与从Java执行时一样。您正在阻止对象被垃圾收集。(b)在JNI调用中持有对象引用对JVM来说可能是致命的,除非你做得正确。您需要仔细阅读JNI规范中有关全局和本地引用的部分。您还需要考虑使用弱引用而不是全局引用。 关于java-JNI:Overhead

c++ - 用于通过快速迭代按值从任何位置删除的容器

我正在尝试制作塔防游戏,我正在实现游戏map以在精确半径内快速查找实体。我让它与std::list一起工作(用于快速push_back实体指针,并且从列表的任何点删除都不错),但我发现迭代列表的1500个元素是超长的。我的游戏甚至无法达到10FPS。我将展示MSVS在探查器中显示的内容:在getEntitiesInRadius调用之后,接下来是!=运算符,它与列表末尾进行比较。接下来是==运算符调用。它以Debug模式运行。但我认为即使是调试迭代1500个元素也太长了。也许我这个说法错了? 最佳答案 我假设你的map在整个游戏中都是

c++ - 用于快速 std::wstring 分配的自定义分配器

是否有任何开源分配器(可能在Boost中)可以与std::wstring一起使用,实现快速分配模式,如thisblogpost中所示?Boost.Pooldoesn'tseemwellsuitedforthispurpose. 最佳答案 不,没有(我搜索了几个小时,一次)。如果您不关心在使用过程中释放内存,那么您自己做起来相当简单。如果要动态释放,那么freelist管理、LRU等工作就变得很多了。 关于c++-用于快速std::wstring分配的自定义分配器,我们在StackOver

C++ 调整/优化

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。我在这个页面上阅读http://www.theregister.co.uk/2011/06/03/google_paper_on_cplusplus_java_scala_go/以下内容:C++提供四种语言中最快的运行时间。但是,该论文说,它还需要更广泛的“调整工作,其中许多工作的复杂程度是普通程序员无法达到的。”我是C++的忠实粉丝,显然还在学习。我的

c++ - 在基于范围的 for 循环中使用转发引用有什么好处?

constauto&如果我想执行只读操作就足够了。但是,我遇到了for(auto&&e:v)//visnon-const最近几次。这让我想知道:与auto&或constauto&相比,在一些模糊的极端情况下使用转发引用是否有一些性能优势?(shared_ptr是模糊角落案例的嫌疑人)更新我在收藏夹中找到的两个示例:Anydisadvantageofusingconstreferencewheniteratingoverbasictypes?CanIeasilyiterateoverthevaluesofamapusingarange-basedforloop?请专注于以下问题:为什么我

c++ - 浮点运算性能 C++

这个问题在这里已经有了答案:关闭9年前。PossibleDuplicate:Floatingpointdivisionvsfloatingpointmultiplication最近,我写了一个程序来计算我的电脑需要多长时间计算实数乘法、除法和加法。为此,我使用了函数QueryPerformanceFrequency和QueryPerformanceCounter以获得时间间隔。我已经使用6,000,000次迭代测试了我的程序:6000000次乘法、除法和求和(使用浮点变量),并得到以下结果:O.S=WindowsVista(TM)HomePremium,32-bit(ServicePa

javascript - 为什么 asm.js 项目在 Chrome 中运行速度比 FireFox 快?

我已经使用emscripten将我大学类(class)的一个游戏引擎项目从C/C++移植到JavaScript。asm.js优化标志已设置,我一直在测量性能。但令人费解的是,在Firefox中的性能很差。而该项目在Chrome和Opera中运行良好。鉴于FireFox是使用asm.js优化的浏览器,这对我来说没有意义。该项目是一款使用SDL和WebGL的速降激流回旋赛车游戏。在我的笔记本电脑上运行Firefox时,分析器显示该演示完全受CPU限制,瓶颈出现在_SDL_LockSurface()和_TTF_RenderText_Solid()周围。这些用于呈现动态文本等。然而在Chrom

c++ - Arpack++ 稀疏特征求解器比等效的 Matlab eigs() 慢很多倍

我需要在C++程序中计算一个非常大的稀疏对称矩阵的n个最小幅值特征向量。对于我的示例,假设n=30,矩阵为10kx10k,具有大约70k个非零值。在对一些库进行大量研究和试验后,我发现ARPACK++可能是我最好的选择,我按照inthispage的步骤安装了它。.计算是使用以下代码片段进行的://LisanEigenlibrarymatrixL.makeCompressed();ARluSymMatrixA(L.cols(),L.nonZeros(),L.valuePtr(),L.innerIndexPtr(),L.outerIndexPtr(),'U');ARluSymStdEige

c++ - 嵌套 for 循环的奇怪性能问题

下面是完整的源代码,您只需将其复制粘贴到VisualStudio中即可轻松重现。#include#include#include#include#includeLARGE_INTEGERgFreq;structCProfileData;//Yes,wemapthepointeritselfnotthestring,forperformancereasonsstd::vectorgProfileData;//simulateadrawbufferaccesstoavoidCBlock::DrawbeingoptimizedawayfloatgDrawBuffer=0;structCTim