Questions tagged «performance»

对于与代码的度量或改进以及应用程序效率有关的问题。

6
PostgreSQL:提高pg_dump,pg_restore性能
开始时,我使用pg_dump默认的纯格式。我不知所措。 研究表明,使用可以节省时间和文件大小pg_dump -Fc | gzip -9 -c > dumpfile.gz。我很开悟。 是时候重新创建数据库了, # create tablespace dbname location '/SAN/dbname'; # create database dbname tablespace dbname; # alter database dbname set temp_tablespaces = dbname; % gunzip dumpfile.gz # to evaluate restore time without a piped uncompression % pg_restore -d dbname dumpfile # into a …

5
Firestore获取数据时性能下降的问题
与1/10比率的实时数据库相比,检索存储在文档中的基本数据时,Firestore的性能存在问题。 使用Firestore,首次通话平均需要3000毫秒 this.db.collection(‘testCol’) .doc(‘testDoc’) .valueChanges().forEach((data) => { console.log(data);//3000 ms later }); 使用实时数据库,第一次通话平均需要300毫秒 this.db.database.ref(‘/test’).once(‘value’).then(data => { console.log(data); //300ms later }); 这是网络控制台的屏幕截图: 我正在使用AngularFire2 v5.0 rc.2运行Javascript SDK v4.50。 有没有人遇到这个问题?

4
如何分析golang记忆?
我编写了一个golang程序,该程序在运行时使用1.2GB的内存。 调用将go tool pprof http://10.10.58.118:8601/debug/pprof/heap导致转储仅使用323.4MB的堆。 其余的内存使用情况又如何呢? 有没有更好的工具来解释golang运行时内存? 使用gcvis我得到这个: ..和此堆表单配置文件: 这是我的代码:https : //github.com/sharewind/push-server/blob/v3/broker

6
如何执行UPSERT,以便在更新部分中可以同时使用新值和旧值
愚蠢但简单的示例:假设我有一个表“ Item”,其中保存了接收到的项目的总数。 Item_Name Items_In_Stock 项目名称是此处的主键。每当我收到数量为X的物料A时,如何实现以下目标。 如果该商品不存在,则为商品A插入一个新的摘要,并将库存商品设置为X;如果存在一条记录,其中库存商品为Y,则库存商品的新值为(X + Y) INSERT INTO `item` (`item_name`, items_in_stock) VALUES( 'A', 27) ON DUPLICATE KEY UPDATE `new_items_count` = 27 + (SELECT items_in_stock where item_name = 'A' ) 我的问题是我的实际表中有多个列。在更新部分中编写多个select语句是一个好主意吗? 我当然可以用代码完成,但是有更好的方法吗?

4
c ++ 11 regex比python慢
嗨,我想了解为什么下面的代码使用正则表达式进行拆分字符串拆分 #include<regex> #include<vector> #include<string> std::vector<std::string> split(const std::string &s){ static const std::regex rsplit(" +"); auto rit = std::sregex_token_iterator(s.begin(), s.end(), rsplit, -1); auto rend = std::sregex_token_iterator(); auto res = std::vector<std::string>(rit, rend); return res; } int main(){ for(auto i=0; i< 10000; ++i) split("a b c", " "); return 0; } 则慢于以下python代码 import re …

9
Java获取可用内存
有什么好方法可以在运行时将剩余的内存提供给JVM?这种情况的用例是使Web服务在接近内存限制时通过拒绝一个新的错误消息“太多的人使用此,请稍后再试”,而不是因OutOfMemory错误而突然死亡而接近失败,从而优雅地失败。 。 注意,这与事先计算/估算每个对象的成本无关。原则上,我可以根据该估算值估算对象占用并拒绝新连接的内存量,但这似乎有点hacky /脆弱。

5
为什么有条件移动不容易受到分支预测失败的影响?
在阅读了这篇文章(关于StackOverflow的答案)(在优化部分)之后,我想知道为什么条件移动不容易受到分支预测失败的影响。我在一篇关于cond move的文章中找到了该文章(AMD撰写的PDF)。同样,他们声称cond的性能优势。动作。但是为什么呢?我没看到 在评估该ASM指令时,尚不清楚先前的CMP指令的结果。



6
iOS:以编程方式制作屏幕截图的最快,最高效的方法是什么?
在我的iPad应用程序中,我想制作一个UIView的屏幕截图,该截图占据了屏幕的很大一部分。不幸的是,子视图嵌套得很深,因此制作屏幕快照和动画页面卷曲后需要很长时间。 有没有比“通常”更快的方法? UIGraphicsBeginImageContext(self.bounds.size); [self.layer renderInContext:UIGraphicsGetCurrentContext()]; UIImage *resultingImage = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); 如果可能的话,我想避免缓存或重组视图。

7
通过强制转换为uint而不是检查负值来执行范围检查是否更有效?
我在.NET的List源代码中偶然发现了这段代码: // Following trick can reduce the range check by one if ((uint) index >= (uint)_size) { ThrowHelper.ThrowArgumentOutOfRangeException(); } 显然,这比(?)更有效 if (index < 0 || index >= _size) 我对这招背后的理由感到好奇。一条分支指令真的比两次转换贵uint吗?还是正在进行其他优化,以使此代码比其他数字比较快? 为了解决房间里的大象问题:是的,这是微优化,不,我不打算在代码中到处使用它–我只是很好奇;)

23
什么更快,打开字符串或其他类型?
可以说,我可以选择基于字符串比较来确定要采用的代码路径,也可以选择类型: 哪个更快,为什么? switch(childNode.Name) { case "Bob": break; case "Jill": break; case "Marko": break; } if(childNode is Bob) { } elseif(childNode is Jill) { } else if(childNode is Marko) { } 更新:我问这的主要原因是因为switch语句对什么是案例很明确。例如,它不允许您使用变量,而只能使用常量,这些常量将被移至主程序集。我认为它有此限制是因为它正在执行一些时髦的操作。如果仅翻译为elseifs(如一位张贴者所评论),那么为什么在case语句中不允许使用变量? 警告:我正在优化。这种方法被称为许多在应用程序的缓慢一部分倍。
77 c#  performance 

9
什么是更有效的:System.arraycopy或Arrays.copyOf?
,Bloch中的toArray方法ArrayList同时使用System.arraycopy和Arrays.copyOf复制一个数组。 public <T> T[] toArray(T[] a) { if (a.length < size) // Make a new array of a's runtime type, but my contents: return (T[]) Arrays.copyOf(elementData, size, a.getClass()); System.arraycopy(elementData, 0, a, 0, size); if (a.length > size) a[size] = null; return a; } 如何比较这两种复制方法,何时应使用哪种复制方法?


12
C#真的比说C ++慢吗?
我一直在想这个问题已有一段时间了。 当然,C#中有些事情并未针对速度进行优化,因此使用这些对象或语言调整(如LinQ)可能会导致代码变慢。 但是,如果您不使用这些调整中的任何一项,而只是比较C#和C ++中的相同代码(将一个代码转换为另一个代码很容易)。真的会慢很多吗? 我看到的比较表明,在某些情况下C#可能甚至更快,因为从理论上讲,JIT编译器应实时优化代码并获得更好的结果: 托管还是非托管? 我们应该记住,JIT编译器是实时编译代码的,但这是1倍的开销,同一代码(一旦到达并编译)就不需要在运行时再次编译。 除非您创建并销毁了数千个对象(例如使用String而不是StringBuilder),否则GC也不会增加很多开销。而且在C ++中这样做也很昂贵。 我想提出的另一点是.Net中引入的DLL之间的更好的通信。.Net平台的通信要比基于托管COM的DLL更好。 我看不出为什么语言应该变慢的任何内在原因,而且我真的不认为C#比C ++慢(无论是经验还是缺乏很好的解释)。 那么,用C#编写的相同代码的一部分会比用C ++编写的相同代码慢吗? 如果是这样,那为什么呢? 其他一些参考资料(稍加讨论,但没有解释WHY): 如果C#比C ++慢,为什么还要使用C#?
76 c#  c++  performance 

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.