草庐IT

OPTIMIZATION

全部标签

c - 绕过 tcp/ip header 的原始套接字

我有两个程序在同一台计算机上通过套接字进行通信。目前使用TCP/IP传输160万字节大约需要7秒。我需要加快速度。如果我改用原始套接字并忽略TCP/IPheader,那么这应该会提高速度吗?我还能做些什么来提高速度吗?SOCKET_RAW选项是直接复制还是做任何其他事情? 最佳答案 1.6MB不应该使用“普通”TCP/IP花费7秒——当然不是在同一台机器上!这表明你在某处得到了低效的代码。在尝试在网络方面做任何“特殊”事情之前,我会解决这个问题。编辑:我刚刚在上网本上编写了一个简短的C#程序,它在279毫秒内传输2MB(生成随机数据

c# - 关于优化 C# NET 代码块的反馈

我刚刚花了好几个小时阅读TCP服务器和我想要实现的协议(protocol),最终一切正常。我注意到代码看起来完全是胡说八道(这是正确的用法吗?我不是英国人)并希望得到一些关于优化它的反馈,主要是为了重用和可读性。数据包格式总是int,int,int,string,string。try{BinaryReaderreader=newBinaryReader(clientStream);intpacketsize=reader.ReadInt32();intrequestid=reader.ReadInt32();intserverdata=reader.ReadInt32();Consol

ios - 核心数据插入和保存缓慢

我正在从一个包含大约20000个对象的JSON文件中解析数据。我一直在运行时间分析器来找出我的瓶颈在哪里并加快解析速度,我已经设法将解析时间减少了45%,但是根据时间分析器,我有78%的时间被context.save()以及整个解析过程中的大部分重要部分都来self称为NSEntityDescription.insertNewObjectForEntityForName的地方。有没有人知道是否有任何方法可以加快速度?我目前每5000个对象对我的保存进行一次批处理。我尝试了100、1000、2000、5000、10000的分组,我发现5000在我运行的设备上是最佳的。我已经阅读了Core

ios - 我如何避免厄运金字塔 - iOS?

我的代码中有一个厄运金字塔。ifplaces.count>0{foriin0..如何避免?是否有我应该遵循的技术或规则?在iOS中,我们不得不用到很多if-let。如何避免像我一样做事? 最佳答案 这是第一个近似值。如您所见,可以提取出很多重复的模式。for(i,placeDictI)in0..以下是我应用的转换:不要检查places.count>0。如果它为0,则循环不会执行任何操作。对于block完全包含其父block的每个if语句,我将其替换为guard。用逗号合并相邻的guard语句。将失败类型转换表示为Optional.m

ios - 快速类型转换性能成本

我正在努力让我的funcupdate:currentTime尽可能快。此函数已从SKScene类中覆盖,每秒被调用约2000到4000次。我想遍历场景的所有子项并进行可选的类型转换以查看子项是否实现了我的Observer接口(interface),然后调用更新。注意:我在这里引用了两个单独的funcupdate方法。如果我每秒打字4000次,我的表演会被拍吗?更重要的是,Swift中的类型转换有多昂贵?上下文代码://Calledinsidefuncupdate:currentTimeletchildren=self.childrenforchildinchildren{ifletob

string - 搜索特定单词或短语的字符串

我有超过1000个字符串和一个固定的[sub]字符串数组。我想知道我的哪些字符串包含任何子字符串。(同样,子字符串是常量。)我还想确保匹配的是单词,而不是字符串。最有效的方法是什么?我能比对所有子字符串执行1000次indexOf()更好吗?letstr1="DuringthewinterholidayI'llgoskiing."letstr2="Doknockonthedoororchimethebell"letfixedSearchStrings=["ringthe","chimethebell","knockonthedoor","knockonthewindow"]str1.i

swift - 淡入淡出 SKLabelNodes 的最佳方式

我正在开发一款小型SpriteKit游戏。我想在主屏幕上有一个“提示”部分,每次显示不同的提示。我有一个可行的方法,它是我自己编写的,但它很困惑,我确信有更好的方法可以完成。我希望有人可以向我展示我可能错过(或绕过很长一段路)的方法。我目前是这样做的:funccreateTipsLabels(){//createSKLabelNodes//addpropertiestoLabels//tip1Label...etc//tip2Label...etc//tip3Label...etc//nowanimate(orpulse)intipslabel,oneatatime...lettSeq

ios - 为什么字符串添加需要这么长时间来构建?

我在UIlabel中添加文本,及其性能成本(我使用了构建时间分析器usingthislink)。我该如何优化这段代码?forvalueinmodel?.offerings??[]{offeringsLabel.text=offeringsLabel.text!+"|"+(value.name??"")+","+(value.type??"")//thisadditioncosttoperformance}我也试过[array].joined但这没有任何区别 最佳答案 首先,关于基本问题。为什么慢?根据我的经验,链式+是导致大量编译时

ios - 使用 UIActivityViewController 失败将图像和文本共享到 Facebook Messenger

QuestionWhatchangestothecodebelowmustbemadetoensureMessengerplaysnicelywithUIActivityViewControllerandsharesboththeimageandtext,orattheveryleast,theimage?背景我正在使用UIActivityViewController从我的应用程序共享文本和图像,并将它们发送到电子邮件、消息和其他共享应用程序。UIActivityViewController很棒,可以以简单和标准的方式与大多数应用程序一起工作……但是,我遇到了不想合作的Messenge

ios - 放大 UIScrollView 时未调用 scrollViewDidEndZooming

这可能是Xcode错误?我在UIScrollView中有一个UIImage在代码中以编程方式完成。用户可以使用缩放手势或双击图像来放大图像。这部分一切正常。接下来,我尝试使用以下函数scrollViewDidEndZooming检测ScrollView何时在缩放手势或双击后完成缩放。但是,scrollViewDidEndZooming永远不会被调用,也不会打印行Ijustfinishedzooming!代码无效:funcscrollViewDidEndZooming(scrollView:UIScrollView,withview:UIView?,atScalescale:CGFloa