zydcat
驱动老牛
驱动老牛
  • 注册日期2001-12-06
  • 最后登录2006-04-12
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1203回复:9

帮忙阿,有什么好办法

楼主#
更多 发布于:2004-03-22 12:30
一段线性空间的内存区域中,每隔一段长度有定长的数据,用什么方法可以将其取出,要求耗时最少,效率最高。
我现在用memcpy分段copy,耗时还是有点多阿,有什么更好的办法 :D
[color=red]肥虫虫[/color] [img]http://www.driverdevelop.com/forum/upload/bradley/2002-11-15_ig01.gif[/img]
zydcat
驱动老牛
驱动老牛
  • 注册日期2001-12-06
  • 最后登录2006-04-12
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-03-22 14:07
取出到哪?
memcpy?从一个内存copy到另一个地方?

filemapping? :D


内存中互相copy,需要把一个缓冲区中不连续的数据拷贝到另外一个连续的缓冲区域,然后处理,
有什么好办法 :D
[color=red]肥虫虫[/color] [img]http://www.driverdevelop.com/forum/upload/bradley/2002-11-15_ig01.gif[/img]
zydcat
驱动老牛
驱动老牛
  • 注册日期2001-12-06
  • 最后登录2006-04-12
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-03-22 14:58
用内嵌汇编? :D


和我想法一样阿,有没有用mmx写好的memcpy阿,我找到一个,编译过不去 :D
[color=red]肥虫虫[/color] [img]http://www.driverdevelop.com/forum/upload/bradley/2002-11-15_ig01.gif[/img]
zydcat
驱动老牛
驱动老牛
  • 注册日期2001-12-06
  • 最后登录2006-04-12
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-03-23 09:54
[quote]如果是连续对齐的话,可以考虑采用P4的SS2,SSE3和超线程优化..

不是欺负虫虫吗?他哪会? :D
你帮他写还差不多 :D [/quote]

 :mad: :mad: :mad:
[color=red]肥虫虫[/color] [img]http://www.driverdevelop.com/forum/upload/bradley/2002-11-15_ig01.gif[/img]
zydcat
驱动老牛
驱动老牛
  • 注册日期2001-12-06
  • 最后登录2006-04-12
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-03-23 21:25
其实一般用汇编写已经很快了,没必要那么优化的,嘿嘿

已经改好了
是没有多大改善,
看来memcpy已经性能挺高了
放分 :D
不给2000给 :mad:
[color=red]肥虫虫[/color] [img]http://www.driverdevelop.com/forum/upload/bradley/2002-11-15_ig01.gif[/img]
游客

返回顶部