Questions tagged «optimization»

优化是改进现有程序以使其更有效地工作和/或使用较少资源的过程。

2
哪种代码更适合分支预测优化?
给定分支预测以及编译器优化的效果,哪种代码倾向于提供出色的性能? 请注意,bRareExceptionPresent表示不常见的情况。这不是逻辑的正常路径。 /* MOST COMMON path must branch around IF clause */ bool SomeFunction(bool bRareExceptionPresent) { // abort before function if(bRareExceptionPresent) { return false; } .. function primary body .. return true; } /* MOST COMMON path does NOT branch */ bool SomeFunction(bool bRareExceptionPresent) { if(!bRareExceptionPresent) { .. function primary …

7
敏捷和瀑布式流程的时间表中,代码重构和优化应该放在哪里?
在项目管理团队中似乎有一种说法,指出“有效”意味着应该认为它已100%完成。大多数程序员都知道情况并非总是如此。如果我正在尝试其他方法来使某项功能正常工作,那并不一定意味着我找到了最好的解决方案,或者在与其他开发人员一起审阅后不需要进行任何重新设计。我经常会做一些事情,退后一步,然后问自己在满足业务规则后我能做些什么。这个“我可以做得更好”的时间是否应该真正放在时间轴内的某个地方?我认为最好的方法是,一定程度上,代码总是比发现时更好(这可能意味着启动后重构)。然而,

10
在客户眼中,软件速度多久能体现一次?
从理论上讲,客户应该能够从第一手经验中感受到软件性能的提高。 在实践中,有时改进不够明显,因此为了从改进中获利,有必要在营销中使用可引用的绩效指标以吸引客户。 我们已经知道感知性能(GUI延迟等)和服务器端性能(机器,网络,基础结构等)之间的区别。 程序员多长时间需要一次额外的工作来“编写”性能分析,而受众不是程序员,而是经理和客户?

4
我是否过早优化?
我目前处于C ++中基于组件的体系结构的设计阶段。 我当前的设计包括以下功能的使用: std::vector的,共std::shared_ptrs个以容纳组件 std::dynamic_pointer_cast std::unordered_map<std::string,[yada]> 组件将代表类游戏软件所需的各种项目的数据和逻辑,例如图形,物理,AI,音频等。 我到处都读到高速缓存未命中会影响性能,因此我进行了一些测试,这使我相信确实会降低应用程序的速度。 我还无法测试上述语言功能,但据说在许多地方,这些功能会花费很多,因此应尽可能避免。 由于我正处于架构的设计阶段,并且这些将包含在设计的核心中,因此,现在我应该设法设法避免使用它们,因为如果有性能,以后很难对其进行更改问题? 或者我只是在做过早的优化而陷入困境?

3
我的算法无法从较小的盒子中提取出最大的盒子,但算法太慢
想象一下一个基于多维数据集的世界(例如Minecraft,Trove或Cube World),其中所有事物都由大小相同的多维数据集组成,并且所有多维数据集都是同一种类。 目标是用最少的矩形框表示世界(通过合并立方体但保留凸形(又称矩形框))。我的算法在此方面取得了成功,但是其性能对于预期的目的而言太慢了。有更快的算法吗? 我算法的伪C#代码基本上是: struct Coordinate { int x,y,z; }; //<-- integer based grid HashSet<Coordinate> world; // <-- contains all the cubes //width, height, and length represent how many cubes it spans struct RectangularBox { Coordinate coord; int width,height,length; } void Begin() { List<RectangularBox> fewestBoxes = new List<RectangularBox>(); while(world.Count > …

3
是否有通用的方法来评估优化算法的最优性?
是否有一种通用的方法来评估优化算法的最优性,例如解决原本为NP困难或NP完全问题的算法? 到目前为止,我想到的唯一方法是将算法的结果与已知的最佳解决方案进行比较。 如果不是,是否有针对某些特殊问题的特定方法? 编辑要澄清:通过最优性,我的意思是结果与最优解的结果有多接近。

11
您在哪里进行优化?
有两个可能需要优化速度的区域: 花费最多时间的地方 最被称为的代码 哪个是开始优化的最佳位置? 通常,最常调用的代码执行时间已经很短。您是在优化较慢的,较少被调用的区域还是在优化较快的,频繁使用的区域?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.