Questions tagged «speed»

15
何时针对一种方法优化内存与性能速度?
我最近在亚马逊接受了采访。在编码会议期间,面试官问为什么我在方法中声明了变量。我解释了我的过程,他挑战我以更少的变量解决相同的问题。例如(这不是从采访),我开始与方法A然后提高它方法B,通过去除int s。他很高兴,并说这将通过这种方法减少内存使用。 我了解其背后的逻辑,但我的问题是: 什么时候适合使用方法A与方法B,反之亦然? 您可以看到,由于方法A被int s声明了,因此它将具有更高的内存使用率,但是它只需执行一次计算即可,即a + b。另一方面,方法B的内存使用量较低,但是必须执行两次计算,即a + b两次。什么时候比另一种使用一种技术?还是其中一种技术总是总是比其他技术更受青睐?评估这两种方法时要考虑什么? 方法A: private bool IsSumInRange(int a, int b) { int s = a + b; if (s > 1000 || s < -1000) return false; else return true; } 方法B: private bool IsSumInRange(int a, int b) { if (a + b …

2
SQL IN()与OR
我正在处理我今天编写的查询,必须将WHERE子句中的代码更改为使用IN(东西列表)过滤器,而不是使用类似 item_desc = 'item 1' OR item_desc = 'item 2' OR item_desc = 'item 3' OR item_desc = 'item 4' 上面的内容运行了15分钟,什么也没有返回,但是下面的内容在1.5分钟内给了我我的结果 item_desc IN ( 'item 1' ,'item 2' ,'item 3' ,'item 4' ) 我在SQL中执行此操作,并且想知道为什么IN(项列表)执行的速度比OR语句快得多。 -编辑-SQL Server 2008,我很抱歉没有将这些信息放在第一位。 这是使用OR语句的全部查询: DECLARE @SD DATETIME DECLARE @ED DATETIME SET @SD = '2013-06-01'; SET @ED …
23 sql  speed 

6
PHP和性能
我总是听到PHP用于中小型网站,而.NET和Java用于企业应用程序。我的问题是关于PHP的。为什么PHP不是企业Web应用程序的好选择?是否因为Web应用程序变得更大而使PHP变慢,因为它是一种解释语言? 我知道企业界会选择.NET或J2EE,因为它们与其产品集成在一起,并且由于后端服务等原因。但是,如果我们只有PHP来构建站点和Web应用程序,那么我们如何使用它来实现良好的性能呢?大网站? 简而言之,PHP的性能和网站的大小之间是否有关系?什么因素使PHP不适合用于大型站点?

6
内存对齐有多重要?仍然重要吗?
从现在开始,我已经搜索并阅读了很多有关内存对齐方式,其工作方式和使用方法的内容。我现在找到的最相关的文章是这篇。 但是即使如此,我仍然对此有一些疑问: 在嵌入式系统之外,我们经常在计算机中拥有大量内存,这使内存管理的批评家减少了很多。我完全致力于优化,但是现在,如果我们将相同的程序与或进行比较,是否真的可以有所作为?没有它的内存重新排列和对齐? 内存对齐还有其他优势吗?我在某处读到CPU可以更好地/更快地使用对齐的内存,因为这样可以减少处理的指令(如果你们中的某个人有一篇文章/基准的链接?),在那种情况下,区别真的很重要吗?有没有比这两个更多的优势? 在第5章的文章链接中,作者说: 当心:在C ++中,看起来像结构的类可能会违反此规则!(它们是否取决于基类和虚拟成员函数的实现方式,并随编译器的不同而不同。) 本文主要讨论结构,但是局部变量声明是否也受此需求影响? 您是否知道内存对齐在C ++中如何工作,因为它似乎有些差异? 前一个问题包含“对齐”一词,但未提供上述问题的任何答案。

5
有关为微控制器编写高效的C代码的资源?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,以使它成为软件工程堆栈交换的主题。 5年前关闭。 这里需要认真的帮助。我喜欢编程。最近,我一直在在线阅读有关C语言的大量书籍(例如K&R)和文章/论坛。甚至尝试研究Linux代码(尽管我不知道该从哪里开始,但是窥探小型库有帮助吗?)。 我最初是一名Java程序员,在Java中相当干cut。如果程序太大,则将其切成类,然后进一步细分为函数。准则,例如,保持代码可读性并添加注释。使用信息隐藏和OOP技术。其中一些仍然适用于C。 我现在一直在用C进行编码,到目前为止,我可以使程序以某种方式工作。许多人谈论性能/效率,算法/设计,优化和可维护性。有些人比其他人压力更大,但是对于非专业的软件工程师,您经常会听到类似这样的信息:Linux内核开发人员不会仅仅接受任何代码。 我的问题是:我计划在不浪费任何资源的情况下为8位微控制器编写代码。知道我来自Java背景,所以事情已经不一样了...资源/书籍/链接/技巧将不胜感激。性能和大小现在很重要。针对8位微控制器的有效(最佳实践)C代码的资源/技巧? 此外,它还inline assembly扮演着至关重要的角色,并且坚持遵守微控制器标准。但是,效率是否有适用于所有人的一般经验法则? 例如: 随时register unsigned int variable_name;首选char。或使用 uint8_t ,如果你不需要大的数字。 编辑:非常感谢您的所有答案和建议。感谢大家为共享知识所做的努力。
15 c  performance  speed 

2
面向对象与基于矢量的编程
我陷入了面向对象和基于矢量的设计之间。我喜欢对象赋予整个建筑的能力,结构和安全性。但是同时,速度对我来说非常重要,并且在数组中具有简单的float变量确实对基于矢量的语言/库(例如Matlab或Python中的numpy)有所帮助。 这是我写来说明我的观点的一段代码 问题:添加拖车波动率数字。如果x和y是两个波动率数字,则波动率的总和为(x ^ 2 + y ^ 2)^ 0.5(假设有一定的数学条件,但在这里并不重要)。 我想非常快地执行此操作,同时我需要确保人们不要以错误的方式(x + y)添加波动率。两者都很重要。 基于面向对象的设计将是这样的: from datetime import datetime from pandas import * class Volatility: def __init__(self,value): self.value = value def __str__(self): return "Volatility: "+ str(self.value) def __add__(self,other): return Volatility(pow(self.value*self.value + other.value*other.value, 0.5)) (此外:对于那些不熟悉Python的人来说,__add__它只是一个覆盖+运算符的函数) 假设我添加了两个波动率列表 n = 1000000 vs1 = Series(map(lambda …
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.