草庐IT

Performance_Scripts

全部标签

performance - 阻塞与非阻塞 winsock 的速度/性能特征

阻塞和非阻塞WinsockTCP套接字的速度或性能通常有差异吗?我可以了解两种套接字的区别,但没有这两种类型之间的详细性能比较。 最佳答案 因为这与速度无关。write和read操作只是伪装的内存复制。它们所做的只是分别向内核和从内核复制数据。IE。他们实际上不发送或接收任何东西。阻塞与非阻塞特性询问:您更喜欢这些操作阻塞直到完成,还是返回-1和EAGAIN以防它们不能立即执行?例如,您从套接字读取数据,但接收缓冲区中没有任何内容。你更喜欢让recv挂起直到出现什么,还是返回-1EAGAIN?

performance - PostgreSQL UNIX 域套接字与 TCP 套接字

我想知道在高并发率下,UNIX域套接字与postgresql的连接是否比本地主机的tcp连接快,如果快,快多少? 最佳答案 Postgres核心开发人员BruceMomjian拥有bloggedaboutthistopic.Momjian指出,“Unix域套接字通信明显更快。”他测量了查询网络性能,表明本地域套接字比使用TCP/IP堆栈快33%。 关于performance-PostgreSQLUNIX域套接字与TCP套接字,我们在StackOverflow上找到一个类似的问题:

performance - 如何使用 Instruments 或查看程序集确定 ARC 保留的对象?

这个问题不是要找出谁保留了特定的对象,而是要查看探查器中显示的一段代码是否有过多的保留/释放调用,并找出哪些对象是负责的。我有一个Swift应用程序,在初始移植后90%的时间都花在保留/发布代码上。经过大量重组以避免引用对象后,我将其降低到大约25%——但这个剩余部分很难归因。我可以看到它的给定block来自使用探查器的给定代码部分,但有时我看不到该代码中的任何内容(据我所知)应该导致保留/释放。我花时间查看了两种Instruments中的汇编代码(在工作时并排查看)以及otool-tvV的输出,有时保留/释放调用的接近度一个可识别的部分给我一个提示,告诉我发生了什么。我什至在一些地方

performance - 即使使用 -Ofast,Swift 的字典也很慢

我在Swift中使用Dictionary实现本质上是缓存。性能远低于我的预期。我读过其他一些问题,例如thisoneaboutarraysorting这似乎表明-Ofast是答案(如果您准备好接受它带来的变化)。然而,即使编译-Ofast,性能也比不上其他语言。我使用的是Swift版本1.0(swift-600.0.34.4.8)。以下是说明问题的简化示例:importFoundationclassHolder{vardictionary=Dictionary()funcstore(#key:Int,value:Int){dictionary[key]=value}}letholder

performance - Swift 是唯一具有溢出检查算法的(主流)语言吗?

我今天开始学习Swift语言。我学习过基本和高级运算符。对我来说,Swift中的所有默认算术运算都会针对上溢/下溢进行检查这一事实有点令人惊讶。是否有其他主流语言具有此功能?Swift运行时的算法是否因此可能不是最优的(性能方面)?他们为什么要在语言中包含这个特性,如果它很好,为什么其他人还没有使用它? 最佳答案 性能这种验证必然会产生成本。在最低级别,导致溢出的操作需要单个CPU操作。在此操作期间检查是否存在溢出至少需要一个操作(例如使用考虑溢出标志的jumpoperations(分支))。请注意,根据实际代码,可能有很多优化可以

performance - 为什么swift的字符比较这么慢?

我正在用swift编写一些代码,其中涉及大量比较单词中的字符,发现它非常慢。当我检查Instruments时,它说大约33%的cpu被两个字符上的中缀==占用了,所以我写了这个来测试它:importFoundationletnumTimes=1000000letcharA:Character="a";letcharB:Character="b";letstringA:String="a";letstringB:String="b";letnsStringA:NSString="a";letnsStringB:NSString="b";varstart=NSDate();forvari=

performance - 如何使用 Swift (beta) Array 击败 NSMutableArray 的性能?

在Swift中,我正在尝试构建一个大型项目集合。在移动中在CoreData中创建元素时,速度非常快。然而,当试图为这些项目保留索引时,创建数组Swift会对性能产生很大影响。下面的代码是NSMutableArray和Swift的数组之间的基准测试。在iOS模拟器中运行时,SwiftArray的速度大约慢了8倍。这是为什么,是否可以改进,或者应该改进Apple发布新版本的Xcode/Swift?代码:varstart:NSDatevartime:NSTimeIntervalvarbatch=1000000varrate:DoublevaroArr=NSMutableArray(capac

performance - for 循环 : why is i++ slower than i = i + 1 in swift

这是一个带有普通增量运算符“i++”的普通空循环importFoundationletstart=CFAbsoluteTimeGetCurrent()forvari=0;i但是这个“i=i+1”的循环要快得多importFoundationletstart=CFAbsoluteTimeGetCurrent()forvari=0;i第二个循环快5到6倍我知道swift仍处于测试阶段,我不会将它与其他语言进行比较,但这对我来说毫无意义 最佳答案 这不是优化器问题吗?一个公平的测试世界是vari=0forjin1..1000000{i++

Java 9 : AES-GCM performance

我已经运行了一个简单的测试来测量AES-GCMJava9中的性能,通过在循环中加密字节缓冲区。结果有些困惑。native(硬件)加速似乎有效-但并非总是如此。更具体地说,在循环中加密1MB缓冲区时,前50秒的速度约为60MB/秒。然后它跳到1100MB/秒,并保持在那里。JVM是否决定在50秒(或3GB数据)后激活硬件加速?可以配置吗?我在哪里可以阅读有关新的AES-GCM实现的信息(besideshere)。加密100MB缓冲区时,硬件加速根本不会启动。速度是60MB/秒。我的测试代码是这样的:intplen=1024*1024;byte[]input=newbyte[plen];f

Java 8 : String join operation has significant performance impact

我正在研究Java-8中引入的新添加的现有功能。新添加到String类的一个简单特性对我来说非常有吸引力——那就是StringJoinmethod.例子:String.join("","AZY","BAX");//returnsAZYBAX出于好奇,我通过编写一个简单的java代码检查了这个特性的性能(执行时间)publicstaticvoidmain(String[]args){longstart=System.nanoTime();Stringabc=String.join(","AZY","BAX"…//joining1000wordsofsize3char;longdiff=S