C++ C++;在以Objective-c为主的项目中,代码运行速度非常慢
我被要求在一个项目中添加一种奇特的图像格式。客户端只提供C++库。一旦在一个以Objective-C为主的项目(也就是说,一个所有其他代码都在Objective-C中的项目)中编译,该库的工作速度非常慢 我把性能与C++和Mac上的C++实现、一个端口C实现到PC上的性能进行了比较,它们都是在彼此相似的计算机上进行的。缓慢的性能仅在Objective-C项目中存在,在设备上比在模拟器上更为明显。我希望该设备(iPad)的CPU少于mac/pc,但不会从模拟器中的0.2秒图像解析到设备上惊人的2.4秒图像解析! <强>所有Objy-C项目中添加的C++代码执行得如此慢吗?< /强> 调整了所有编译器类型,许多编译器首选项。另外,实现C++代码的时间剖析在琐碎的动作上花费了大量的时间(简单的指令,如++和+=的)。 <> P>我应该如何处理这个问题,以便在ObjyE-C项目?中使C++库的性能达到合理的水平?C++ C++;在以Objective-c为主的项目中,代码运行速度非常慢,c++,objective-c,performance,compiler-construction,C++,Objective C,Performance,Compiler Construction,我被要求在一个项目中添加一种奇特的图像格式。客户端只提供C++库。一旦在一个以Objective-C为主的项目(也就是说,一个所有其他代码都在Objective-C中的项目)中编译,该库的工作速度非常慢 我把性能与C++和Mac上的C++实现、一个端口C实现到PC上的性能进行了比较,它们都是在彼此相似的计算机上进行的。缓慢的性能仅在Objective-C项目中存在,在设备上比在模拟器上更为明显。我希望该设备(iPad)的CPU少于mac/pc,但不会从模拟器中的0.2秒图像解析到设备上惊人的2.
我在MAC和PC上与C++实现的性能进行了比较, pc机上的移植C#实现——都在类似的计算机和CPU上 记忆方面。缓慢的性能仅在Objective-C项目中, 在设备上比在模拟器上更明显
iOS设备考虑到它们的大小和电池限制,相对而言是强大的,但它们与现代的MAC或PC没有匹配。当与模拟器相比,在设备上运行时,您会发现任何代码、C++或其他方面的显著减速。当你说你测试的“都是在相似的电脑上”时,你的意思是彼此相似还是类似于iPhone 4
我不知道使用C++和Objto-C有什么特别的性能损失。你可以通过想出一些非常简单的基准来测试自己,在C++和Objto-C中编码它,并比较执行时间。没有所谓的“Objective-C项目”。单个文件可以是C++或Objtovi-C或C或其他东西。每个文件都是根据项目设置编译的,与项目中的其他文件无关。所以,这里还有别的事情。你是说你把代码从C++移植到Objto-C,而移植的代码慢了吗?我没有把代码移植到Objtovi-C,只是在一个常规的IOS项目中嵌入了CPP,所有的文件都写在目标Cas中,你有C++源,为什么不使用剖析器来检查什么东西会使所有的东西都慢下来?也许可以对iPhone/iPad/iPod进行优化,使其性能更好?您是否验证了“琐碎”的操作确实是琐碎的?在C++中,