CnPack Forum


 
Subject: 问下FASTMOVE??
wiseinfo
灌水科科长
Rank: 3Rank: 3



UID 560
Digest Posts 0
Credits 159
Posts 80
点点分 159
Reading Access 10
Registered 2004-11-11
Status Offline
Post at 2007-5-14 15:48  Profile | Blog | P.M. 
问下FASTMOVE??

FASTMM4,FASTCODE我知道有什么用,
但不知道fastMove有什么用??
Top
zjy
管理员
Rank: 9Rank: 9Rank: 9



UID 2
Digest Posts 6
Credits 2385
Posts 1543
点点分 2385
Reading Access 102
Registered 2002-12-16
Location China
Status Offline
Post at 2007-5-15 08:06  Profile | Site | Blog | P.M. 
FastMove同样也是FastCode的子项目

在功能上,FastMove提供了System.Move函数的高性能替换实现。

从官方网站上看,FastMove放在Fastcode Libraries 子栏目下,应该是FastCode Project开发的子项目。而其它那些函数放在Fastcode Challenges子栏目下,是开放的竞赛项目。

在使用方式上,FastMove可以单独下载、单独使用,其它函数由FastCode.pas统一进行rtl补丁。




Zhou JingYu
CnPack Administrator
http://www.cnpack.org/
Top
wiseinfo
灌水科科长
Rank: 3Rank: 3



UID 560
Digest Posts 0
Credits 159
Posts 80
点点分 159
Reading Access 10
Registered 2004-11-11
Status Offline
Post at 2007-5-15 08:47  Profile | Blog | P.M. 
不知道DELPHI的RTL用到System.Move没哦??
我们一般的开发,有用到System.Move 吗??
Top
zjy
管理员
Rank: 9Rank: 9Rank: 9



UID 2
Digest Posts 6
Credits 2385
Posts 1543
点点分 2385
Reading Access 102
Registered 2002-12-16
Location China
Status Offline
Post at 2007-5-15 09:10  Profile | Site | Blog | P.M. 
Move在内部大量调用

基本上delphi编译出来的代码,只要用到内存复制,都会调用System.Move。RTL/VCL内部大量使用了Move,即便你自己不调用,FastMove也会对性能提高有所帮助。




Zhou JingYu
CnPack Administrator
http://www.cnpack.org/
Top
小雨哥
新警察
Rank: 1



UID 14540
Digest Posts 0
Credits 14
Posts 7
点点分 14
Reading Access 10
Registered 2007-5-19
Location 浙江杭州
Status Offline
Post at 2007-5-22 01:53  Profile | Blog | P.M.  | QQ
哇塞。感觉 MOVE 已经很快啦,除了多了句自己 MOVE 自己的保护判断外,几乎没有多半个字节的废句了,
居然还有 FastMove 这样的函数啊,没见到过,感叹ing。
Top
小雨哥
新警察
Rank: 1



UID 14540
Digest Posts 0
Credits 14
Posts 7
点点分 14
Reading Access 10
Registered 2007-5-19
Location 浙江杭州
Status Offline
Post at 2007-5-22 02:02  Profile | Blog | P.M.  | QQ
另外也疑惑一件事情,zjy 见识多,正好请教一下:我看 Delphi2006 源代码,发现很多地方嵌入了 FastCode 的代码,
调查了一个 POS 函数(大概是这种类型的运行时函数吧),发现有二个版本,一个是 Delphi 开发小组自己写的,另
一个是 FastCode 的,实际嵌入正式运行时的是 FastCode 的版本,哦,记起来啦,是 FastCode 写的 PosEx 函数,
没有 Delphi 小组的 PosEx 函数,Delphi 开发组写的是 Pos 函数。但我按照 Delphi 开发组的 Pos 函数进行扩展为
PosEx 函数时发现,Delphi 开发组写的这个函数的思想,比 FastCode 那个 PosEx 函数写的思想,快了十倍。不知道
为什么开发组不自己完成 PosEx ,而是直接拿 FastCode 的 PosEx 顶帐?
Top
skyjacker
版主
Rank: 7Rank: 7Rank: 7
茶农


UID 2239
Digest Posts 9
Credits 617
Posts 269
点点分 617
Reading Access 100
Registered 2006-6-8
Status Offline
Post at 2007-5-22 13:39  Profile | Blog | P.M.  | QQ
FastCode 可能考虑到了在 PIII,PIV 的整体性能.
在 PIV 运行很快的代码可能在 PIII 上运行较慢,反之,也成立.
这种函数从代码上看不出任何问题,必须结合不同的CPU 特性。




一壶清茶煮青春.
Top
kendling (小冬)
高级版主
Rank: 8Rank: 8
MyvNet


Medal No.1  
UID 703
Digest Posts 5
Credits 978
Posts 580
点点分 978
Reading Access 101
Registered 2005-2-18
Location 广东
Status Offline
Post at 2007-5-22 15:14  Profile | Site | Blog | P.M.  | QQ | Yahoo!
对,FastCode是兼容多种CPU的,在代码里有对CPU的判断。




小冬
http://MyvNet.com
Top
beta
新警察
Rank: 1



UID 348
Digest Posts 0
Credits 13
Posts 9
点点分 13
Reading Access 10
Registered 2004-3-23
Status Offline
Post at 2007-5-22 17:26  Profile | Site | Blog | P.M. 
既然 FastCode 的家伙已经把这些工作做好了,CodeGear 的人当然更有理由抽出时间干其它的事情嘛,呵呵。话说回来,如果不是 FastCode 已经把这些东西做出来了,估计 CodeGear/Borland 的人是不会去考虑更新这些底层 RTL 函数的
Top
shenloqi
灌水处处长
Rank: 4



UID 34
Digest Posts 1
Credits 287
Posts 179
点点分 287
Reading Access 10
Registered 2003-3-15
Status Offline
Post at 2007-5-22 19:32  Profile | P.M. 
FastCode的代码更多的考虑了在现代CPU上的运行速度,比如说减少分支,数据对齐,超标量运行,使用SIMD指令等,而Delphi原来自己的函数则更适合以前的CPU,而且思路比较清晰,但是在现代的CPU上的执行效率会比较差。
Top
wiseinfo
灌水科科长
Rank: 3Rank: 3



UID 560
Digest Posts 0
Credits 159
Posts 80
点点分 159
Reading Access 10
Registered 2004-11-11
Status Offline
Post at 2007-5-23 14:39  Profile | Blog | P.M. 
在CNPACK混长见识
Top
xjw100
灌水科科长
Rank: 3Rank: 3


UID 1476
Digest Posts 0
Credits 134
Posts 74
点点分 134
Reading Access 10
Registered 2005-12-13
Location 桂林
Status Offline
Post at 2007-5-23 17:43  Profile | Blog | P.M. 
长见识了。
Top
 




All times are GMT++8, the time now is 2024-4-23 22:39

    本论坛支付平台由支付宝提供
携手打造安全诚信的交易社区 Powered by Discuz! 5.0.0  © 2001-2006 Comsenz Inc.
Processed in 0.007414 second(s), 9 queries , Gzip enabled

Clear Cookies - Contact Us - CnPack Website - Archiver - WAP