百科问答小站 logo
百科问答小站 font logo



memcpy比循环赋值快吗?为什么? 第1页

  

user avatar   zhang-hao-72 网友的相关建议: 
      

除了各位提到的simd, 在支持dma的平台上可以用dma优化. cpu需要做的只是告诉dma控制器, 源地址, 目的地址, 需要copy多少个、多少位宽的数据, 开始传输,等着完事。

单论传输时间不一定比直接赋值快(可能慢不少),但是在等待dma控制器那边说“传完了”的这段时间, cpu可以并行去干别的事了,总的来说还是快的。

ARM支持内存到内存的DMA传输(比内存到设备还是要慢一些),x86以前不支持,但是现在也有办法了,详细见链接:

还有这个:


user avatar   yang-lei-96-72 网友的相关建议: 
      

共产主义政党长期治理的喀拉拉邦在印度处于人类发展指数的前茅,这就是共产主义对印度的影响。

印度及印占藏南、印占克什米尔的人类发展指数


另外,南亚人是非常非常喜欢取经名的。这也是一个地域特色了。




  

相关话题

  C++对比其他语言到底难在哪里?有人对C++异常推崇,除了性能优势,还有什么优点,怎么学好C++? 
  为什么下载的安装包都需要安装才能用,而不是可以直接用呢,安装的过程到底是在做什么? 
  当你学会了什么之后感觉自己的编程算是入门了? 
  c语言程序经过编译后,每条指令都有一个内存地址,那两个程序如果有相同内存地址的指令怎么办? 
  既然scanf和strcpy等函数会被编译器报不安全,那么C语言教材为什么还讲这些函数? 
  开源代码里某个函数很长,这种代码能否认为是好的? 
  Linux C++ 服务器端这条线怎么走?一年半能做出什么? 
  做32位/64位跨版本编程,有什么需要注意的么? 
  如何用 C 语言画「心形」? 
  C语言和C++中,为什么malloc函数需要传入申请的内存大小,而free时候却不需要传大小呢? 

前一个讨论
同样用pow()表示10^2,为什么分别用字面量和变量作参数会返回不同的值?
下一个讨论
一个人想写出foxmail这种软件,需要知道哪些知识(详细的)?





© 2024-09-19 - tinynew.org. All Rights Reserved.
© 2024-09-19 - tinynew.org. 保留所有权利