代码-比库函数memcpy更高效的实现

问题描述

比库函数memcpy更高效的实现

求一个比库函数memcpy更高效的内存拷贝函数显示,求代码!采纳的有积分奖励

解决方案

编译器已经对memcpy做了很多中优化了

VC 对 memcpy 的优化
http://blog.codingnow.com/2005/10/vc_memcpy.html

解决方案二:

编译器已经考虑各种优化可能,以及兼容性,各种极端测试情况等。
你想做的比编译器更好,不是那么容易

解决方案三:

当然可以看看VC,GCC, CLang对memcpy的实现,会有一些区别,可以借鉴一下

解决方案四:

很好的问题,对于像memcpy这种简单且无处不在的函数,你要想比系统类库快,你必须搞清楚系统类库为什么不快。

系统类库之所以不快,是因为它针对的是所有的场合,包括不同的数据大小、不同的cpu和硬件、针对不正确的调用的处理等等,因此,你如果有特定的用途而规避通用性,的确可以做到更快。

但是这个特定的环境和用途你需要自己去分析,这个没法直接帮到你。比如说,针对Intel某些处理器,这里
https://software.intel.com/en-us/forums/topic/475372
有文章讨论了特定的优化,可以作为思路。

进一步说,挖掘内存控制器的带宽、挖掘缓存的潜力这些也可以是突破口,当然我说了,这种优化的代码在另外的平台上比不优化可能更慢。这就是特定优化的局限。

时间: 2024-08-02 13:38:49

代码-比库函数memcpy更高效的实现的相关文章

百度统计推出异步加载统计代码 助力网站分析更高效

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断淘宝客 站长团购 云主机 技术大厅 尊敬的百度联盟会员,您好: 百度统计推出异步统计代码已有段时间,对于已使用或准备使用百度统计的用户来说,怎样更新和部署百度统计异步代码?异步代码有什么好处?需要注意什么?都是迫切需要知道的问题,下面就为您简单介绍一下百统计异步代码的优势及如何部署. 异步统计代码有什么不同? 百度统计异步代码是以异步加载形式(对网页加载速度零影响)加载

让Java代码更高效_java

本文简单介绍一下在写代码过程中用到的一些让JAVA代码更高效的技巧. 1,将一些系统资源放在池中,如数据库连接,线程等.在standalone的应用中,数据库连接池可以使用一些开源的连接池实现,如C3P0,proxool和DBCP等,在运行在容器中的应用这可以使用服务器提供的DataSource.线程池可以使用JDK本身就提供的java.util.concurrent.ExecutorService. import java.util.concurrent.Executors; import j

25 个让 Java 程序员更高效的 Eclipse 插件

原文:http://www.oschina.net/news/27773/25-best-free-eclipse-plug-ins-for-java?from=20120416 Eclipse提供了一个可扩展插件的开发系统.这就使得Eclipse在运行系统之上可以实现各种功能.这些插件也不同于其他的应用(插件的功能 是最难用代码实现的).拥有合适的Eclipse插件是非常重要的,因为它们能让Java开发者们无缝的开发基于J2EE和服务的应用程序. Eclipse的插件也能帮助他们开发不同应用架

MaxCompute2.0性能评测:更强大、更高效之上的更快速

MaxCompute2.0(原Odps):通过性能评测,MaxCompute2.0离线计算比同类产品Hive2.0 on Tez性能优势快约90%以上:MaxCompute2.0从新一代执行引擎到编译引擎.基于代价的优化器全流程针对性能提升做出了卓越改进.        本次评测侧重于已发布的MaxCompute2.0与离线处理同类竞品及线上稳定版本的性能对比,通过测试我们看到MaxCompute2.0在功能上更强大.使用和发布更新更高效.开放生态的同时针对线上作业占比80%以上的Sql以及其中

如何更高效地使用 OkHttp

本文讲的是如何更高效地使用 OkHttp, 原文链接: Effective OkHttp 原文作者 : Michael Parker 译文出自 : 掘金翻译计划 译者 : Brucezz 校对者: iThreeKing, Adam Shen, Jaeger 译文链接:如何更高效地使用 OkHttp 转载请联系,并注明出处. 在为可汗学院开发 Android app 时,OkHttp 是一个很重要的开源库.虽然它的默认配置已经提供了很好的效果,但是我们还是采取了一些措施提高 OkHttp 的可用性

Docker实战:更轻松、更愉快、更高效

本文讲的是Docker实战:更轻松.更愉快.更高效,[编者的话]本文作者(Michael Herman)通过实例展示了Docker在日常开发中的潜力,并不需要花费太多精力,就可以建立一套高效.简洁的流程,包括了项目自动化的测试.持续集成及部署,将开发者从这些令人厌倦的体力劳动中解放出来,同时为我们了解Docker提供了直观的经验. 借助Docker,我们可以更容易地进行Web应用部署,而同时不必头疼于项目依赖.环境变量以及各种配置问题,Docker可以快捷.高效地处理好这一切. 而这也是本教程的

这些小工具让你的Android开发更高效_Android

在做Android 开发过程中,会遇到一些小的问题,虽然自己动手也能解决,但是有了一些小工具,解决这些问题就得心应手了,今天就为大家推荐一下Android 开发遇到的小工具,来让你的开发更高效. Vysor Vysor 是一个可以将手机的屏幕投影到电脑上,当然也可以操作,当我们做分享或者演示的时候,这个工具起到了作用. Vector Asset Android Studio 在1.4 支持了VectorAsset,所谓VectorAsset:它可以帮助你在Android 项目中添加Materia

这些小工具让你的Android开发更高效

在做Android 开发过程中,会遇到一些小的问题,虽然自己动手也能解决,但是有了一些小工具,解决这些问题就得心应手了,今天就为大家推荐一下Android 开发遇到的小工具,来让你的开发更高效. Vysor Vysor 是一个可以将手机的屏幕投影到电脑上,当然也可以操作,当我们做分享或者演示的时候,这个工具起到了作用. Vector Asset Android Studio 在1.4 支持了VectorAsset,所谓VectorAsset:它可以帮助你在Android 项目中添加Materia

Buffer:帮助用户在Twitter、Facebook等平台上更高效的发布内容

摘要: Buffer是一款帮助用户在Twitter.Facebook等平台上更高效的发布内容的应用,到目前已经拥有超过50万的用户.在两年前刚刚开始打造这个产品的时候,开发人员就已经做好了充分的思想准 Buffer是一款帮助用户在Twitter.Facebook等平台上更高效的发布内容的应用,到目前已经拥有超过50万的用户.在两年前刚刚开始打造这个产品的时候,开发人员就已经做好了充分的思想准备去面对各种挑战,包括设计开发过程中会遇到的障碍以及可能犯的错误. 在项目当中犯错是在所难免的,只要能够从