niker76
22230
|
2006/3/19 7:28:17 |
我使用FastMM427测试的结果: AMD SP2500+ 512M: 使用原来 RTL 大概 9.1-9.3S 使用 FastMM 替换的 RTL 大约 5-5.3S |
lsuper
22226
|
2006/3/18 16:29:10 |
非常感谢反馈!98 的问题已经修改,重新发布 1.2 的了 ;> |
wdsh643
22160
|
2006/3/16 10:18:35 |
在win98中使用这个补丁总是提示内在管理器不能被更改,无论是用delphi7开发程序时,还是发布的程序安装到win98上,都是提示出错。在其他系统上使用不存在出错。 |
lsuper
22120
|
2006/3/14 19:42:09 |
谁说需要“将整个 VCL 重新编译一次”? n_n ... 使用这个 patch:rtl\replace.bat 不使用这个 patch:backup\restore.bat that's all ... |
limin
22039
|
2006/3/11 10:08:10 |
确实不错,用了就是不一样。 |
fanwy_2003
22032
|
2006/3/10 17:41:55 |
需要將整個vcl重新編譯一邊 |
sunrival
22030
|
2006/3/10 15:24:05 |
结果运行拷贝之后,编译程序出现了“file not found: System.pas”的错误。不知道怎么解决? :( |
llw1
22023
|
2006/3/10 11:15:46 |
好东西,的确快了不少,顶呀! |
lsuper
21996
|
2006/3/9 2:16:25 |
附带的说一句:我确实无法“通过测试保证修改不会引起其它问题的”,至少在我现在的工程中没有任何的问题。 我只能说,这个 getmem.inc 就是 Delphi 2006 中的内存管理器核心,它增强了特别是常规内存分配、多线程应用等方面的性能,我所作的只是把它移植到 Delphi 7 的 RTL 中。附带的说,如果你仔细的对比 RTL 源码(如使用 WinMerge),你会发现,Delphi 2006 编译出来的程序相对 Delphi 7 编译的来得快是有其必然的道理的: 1、使用了全新的内存管理器 2、很多核心 RTL 函数使用的是开源的 FastCode 的实现,更具效率 3、很多核心 RTL 函数直接使用 inline 声明、编译!
=^0^= |
lsuper
21995
|
2006/3/9 2:15:48 |
to senlin:确实写错了,是 RTL 文件夹
随手写一个测试例子:
procedure TForm1.Button1Click(Sender: TObject); var t: TDateTime; I: Integer; pData: Pointer; begin t := Now;
for I := 1 to 1000000 do try GetMem(pData, I); finally FreeMem(pData); end;
ShowMessage(FormatFloat('0.00', 24 * 60 * 60 * (Now -t))); end;
在我的机器上(AMD 1.8G 512M): 使用原来 RTL 大概 8.9-9.1S 使用 FastMM 替换的 RTL 大约 4.5-4.7S
更多的例子可以自己验证,我想李维说得 10-300% 绝对不是空口无凭的。 |
edwinyeah
21982
|
2006/3/8 12:09:23 |
GOOD! 能不能提供测试数据比对? |
dajun
21971
|
2006/3/8 8:36:57 |
very good |
senlin
21970
|
2006/3/8 8:36:10 |
第二步“2、运行 RELEASE\Copy.bat,他会复制文件到相应文件夹”哪里找“RELEASE”文件夹?而在“RTL”文件中有,结果运行拷贝之后,编译程序出现了“file not found: System.pas”的错误。不知道怎么解决?谢谢!! |
hsgrass
21969
|
2006/3/8 8:14:39 |
year! 第一個頂你 :) |