首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自定义模板memcmp与C memcmp

自定义模板memcmp与C memcmp
EN

Stack Overflow用户
提问于 2012-05-31 01:22:09
回答 2查看 283关注 0票数 1
代码语言:javascript
复制
template <typename T>
int custom_memcmp(const T* a, const T* b, std::size_t n);

这会比C的memcmp更快吗?

如果sizeof(T) != 1:它将执行较少的迭代,并且可以将值与其实际类型进行比较。例如,我希望直接比较两个'long long‘比比较两个8字节的缓冲区更快。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-05-31 01:24:32

memcmp通常是编译器固有的,因此将被优化为尽可能高效(将被矢量化、内联等)。

所以你几乎肯定不会打败它。当然,如果你想确定的话,那就去配置文件吧!

票数 6
EN

Stack Overflow用户

发布于 2012-05-31 01:24:58

不,它不会更快。memcmp将尽可能高效地比较适当大小的原始内存。只有天真的memcmp实现才会逐个字节地执行。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10821164

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档