在C++中有没有比memcpy()更快的替代品?
发布于 2009-07-30 21:39:39
不太可能。您的编译器/标准库可能会有一个非常高效且量身定制的memcpy实现。而memcpy基本上是将内存的一部分复制到另一部分的最低api。
如果你想进一步加速,找到一种不需要任何内存复制的方法。
发布于 2009-07-30 21:51:38
首先,给你一句忠告。假设编写您的标准库的人并不愚蠢。如果有更快的方法来实现一个通用的memcpy,他们早就这么做了。
其次,是的,还有更好的选择。
std::copy函数。它做同样的事情,但它1)更安全,2)在某些情况下可能更快。它是一个模板,这意味着它可以专门针对特定的类型,这使得它可能比一般的C memcpy.就不会那么好了
发布于 2009-07-30 22:41:22
优化专家Agner Fog发布了优化内存函数:http://agner.org/optimize/#asmlib。不过,它是在GPL之下的。
前段时间,阿格纳说这些函数应该取代GCC的内置函数,因为它们的速度要快得多。我不知道从那以后是否有人这么做过。
https://stackoverflow.com/questions/1209529
复制相似问题