c - memcpy 在 x86_64 上有多快

标签 c linux x86-64

使用 gcc 编译器的 x86_64 和 Linux 上的 memcpy 有多快。它最多等于传输 1 个 long 的时间 * long 的数量还是比这个更好?

最佳答案

这完全取决于函数的 CRT 实现 - 您应该能够查看编译器的源代码并 100% 确定。

通常,它经过优化以复制对机器有效的 block ,并根据起始/结束地址的对齐执行适当的边缘情况处理。考虑到需要处理任何长度和对齐,它不太可能比纯 long 复制更快(再次记住,该语句以您的平台为模),但减速也不可能对您的实际情况产生明显的影响-世界应用程序。

关于c - memcpy 在 x86_64 上有多快,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10279493/

相关文章:

assembly - "cqo"、 "cdq"和 "cwd"x86_64 指令。为什么不只使用cqo?

c-尝试添加到 Struct 中的 char 数组时出现段错误

c语言+二维数组

c - 为什么 '\0'在使用指针时等同于0?

linux - 避免碰撞,如果复制文件

linux - 有没有办法捕获请求日志文件中没有响应的行?

linux - 在 shell 中获取文件大小(以字节为单位)的可移植方法

debugging - 为什么 int 3 生成 64 位的 SIGSEGV 而不是停止调试器?

c - 地址空间布局随机化是否应用于 fork 进程

c++ - 反汇编 C++ 中全局变量的 .rodata 部分 (objdump -D)