百科问答小站 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 网友的相关建议: 
      

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

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


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




  

相关话题

  既然scanf和strcpy等函数会被编译器报不安全,那么C语言教材为什么还讲这些函数? 
  C 语言指针怎么理解? 
  怎能给孩子讲用c++解决鸡兔同笼问题,百钱买百鸡等问题,也就是c++的for循环嵌套枚举? 
  为什么我写代码时总是手滑把main打成mian? 
  英语不好能学C语言和C++么? 
  为何对于无符号数,右移必须是逻辑的? 
  C++如何返回未知类型的空引用? 
  在C++中,为什么部分程序员喜欢在循环中写‘++i’而不是‘i++’? 
  一门编程语言,先将代码编译为C,再由C编译器编译为可执行文件,是否可行? 
  memcpy比循环赋值快吗?为什么? 

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





© 2025-05-10 - tinynew.org. All Rights Reserved.
© 2025-05-10 - tinynew.org. 保留所有权利