导航:
论坛 -> 发布代码
斑竹:liumazi,ruralboy
作者:
2015/4/16 11:22:03
标题:
DelphiXE7&XE8以及内存表性能测试
浏览:7524
加入我的收藏
楼主:
简单测试了ADODataSet、ClientDataSet、FDMemTable、kbmMemTable、SQLMemTable等几个内存表控件的Append、Insert、SaveToFile、LoadFromFile、SaveToStream、LoadFromStream等功能,XE8比XE7性能提升20%左右。 测试源码下载地址:http://pan.baidu.com/s/1ntIFuwL
此帖子包含附件: 大小: 77.0K
----------------------------------------------
Delphi4Linux Delphi三层/FireDAC 技术群:734515869 http://www.cnblogs.com/rtcmw
作者:
2015/4/16 12:41:48
1楼:
牛人!必顶!
----------------------------------------------
Delphi 的移动程序开发,是您不可再错失的机遇:http://blog.163.com/you888@188/blog/static/6723961920169319529515/
作者:
2015/4/16 12:47:27
2楼:
fdmemtable为什么从文件导入是0ms呢? 性能最好的是哪个?
----------------------------------------------
Delphi 的移动程序开发,是您不可再错失的机遇:http://blog.163.com/you888@188/blog/static/6723961920169319529515/
作者:
2015/4/16 13:36:01
3楼:
devExpress VCL中也有内存表,而且性能也不错,为何没有发现和使用呢!!!!
----------------------------------------------
向你学习
作者:
2015/4/16 15:52:20
4楼:
ehlib也有内存表
----------------------------------------------
-
作者:
2015/4/16 15:59:57
5楼:
还是坐等xe8update,给楼主顶一顶
----------------------------------------------
还可以更好
作者:
2015/4/16 18:16:15
6楼:
@sxqwhxq Ehlib的MemTableEh功能太弱,性能太差。
----------------------------------------------
Delphi4Linux Delphi三层/FireDAC 技术群:734515869 http://www.cnblogs.com/rtcmw
作者:
2015/4/16 18:17:11
7楼:
@ lzd123 没用过DEV,你们可以测试下。
----------------------------------------------
Delphi4Linux Delphi三层/FireDAC 技术群:734515869 http://www.cnblogs.com/rtcmw
作者:
2015/4/16 18:18:27
8楼:
@ gaoyong_gy SQLMemTable性能最好。
----------------------------------------------
Delphi4Linux Delphi三层/FireDAC 技术群:734515869 http://www.cnblogs.com/rtcmw
作者:
bdl1 (bdl1)
▲▲▲▲▲
-
普通会员
2015/4/16 21:34:59
9楼:
看了楼上的测试,开始安装xe8...
----------------------------------------------
-我的博客
作者:
2015/4/17 8:59:33
10楼:
之间的性能相差还是好多啊
----------------------------------------------
学习,学习,再学习!!!
作者:
2015/4/17 10:21:51
11楼:
安装XE8,主要是看了楼主的测试,看来确实优化了不少,又要和XE7-再见了,晕。
----------------------------------------------
心无挂碍,无有恐怖,远离颠倒梦想,究竟涅槃。
作者:
2015/4/17 10:53:29
12楼:
实测了下,确实是快了15%-20%,望楼主把unidac的virtualtable加上,在我的机器上virtualtable比FDMemTable快一些,望楼主发个拷屏看一下
----------------------------------------------
-
作者:
2015/4/17 14:14:04
13楼:
@hq200306 virtualtable不会用,不知道怎么动态添加字段,请指教。
----------------------------------------------
Delphi4Linux Delphi三层/FireDAC 技术群:734515869 http://www.cnblogs.com/rtcmw
作者:
2015/4/17 14:22:57
14楼:
earthsbest谦虚了吧,下面的代码是从你的源码复制过来的 function TForm15.NewVirtvalTable: TVirtualTable; begin if VirtualTable1 = nil then VirtualTable1 := TVirtualTable.Create(self); with VirtualTable1 do begin FieldDefs.Clear; FieldDefs.Add('ID', ftInteger, 0, True); FieldDefs.Add('Status', ftString, 10, False); FieldDefs.Add('Created', ftDate, 0, False); FieldDefs.Add('Volume', ftFloat, 0, False); end; Result := VirtualTable1; end; procedure TForm15.SpeedButton6Click(Sender: TObject); var d1, d2: Cardinal; i: Integer; Field1, Field2, Field3, Field4: TField; begin ListBox2.Clear; NewVirtvalTable; // VirtualTable1.Clear; VirtualTable1.Open; d1 := GetTickCount; VirtualTable1.DisableControls; try Field1 := VirtualTable1.FieldByName('ID'); Field2 := VirtualTable1.FieldByName('Status'); Field3 := VirtualTable1.FieldByName('Created'); Field4 := VirtualTable1.FieldByName('Volume'); for I := 1 to 10000 * 5 do begin VirtualTable1.Append; Field1.AsInteger := I; Field2.AsString := 'Code' + IntToStr(I); Field3.AsDateTime := Date(); Field4.AsFloat := Random(10000); VirtualTable1.Post; end; finally VirtualTable1.EnableControls; end; d2 := GetTickCount; ListBox2.Items.Add(IntToStr(d2 - d1)); // stream.Clear; d1 := GetTickCount; VirtualTable1.SaveToStream(stream, true); d2 := GetTickCount; ListBox2.Items.Add(IntToStr(d2 - d1)); end;
----------------------------------------------
-
作者:
2015/4/17 14:34:19
15楼:
@ hq200306 我一直在找类似CreateDataSet的方法,一直没找到,原来是不用的。
此帖子包含附件: 大小: 86.5K
----------------------------------------------
Delphi4Linux Delphi三层/FireDAC 技术群:734515869 http://www.cnblogs.com/rtcmw
作者:
2015/4/17 16:10:58
16楼:
VirtualTable 插入性能好差
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
2015/4/17 17:08:53
17楼:
@chineseswish 在D7下面VirtualTable 和ClientDataSet的插入性能都很好,和追加的差不多,在高版本的Delphi下面相差太大了。
----------------------------------------------
Delphi4Linux Delphi三层/FireDAC 技术群:734515869 http://www.cnblogs.com/rtcmw
作者:
2015/4/17 17:14:38
18楼:
回chineseswish (swish),virtualtable的savetofile和loadfromfile要改一下函数,要换成tmemorystream,速度要提高很多
----------------------------------------------
-
作者:
2015/4/17 17:17:51
19楼:
@chineseswish 我把QDataSet测试去掉了,发现测试要死机。等完善后再对比测试下。
----------------------------------------------
Delphi4Linux Delphi三层/FireDAC 技术群:734515869 http://www.cnblogs.com/rtcmw
作者:
2015/4/17 17:25:10
20楼:
嗯,TQDataSet不着急参与战争,俺默默的去找静静……
----------------------------------------------
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc 讨论QQ群:250530692 QLang 多语言组件快速让你的程序走向海外
作者:
tjwhf (tjwhf)
▲▲▲▲△
-
普通会员
2015/4/17 18:43:20
21楼:
请编译个32位的比较下
----------------------------------------------
-
作者:
2015/4/18 9:09:39
22楼:
同求32位测试,谢谢了
----------------------------------------------
Delphi 的移动程序开发,是您不可再错失的机遇:http://blog.163.com/you888@188/blog/static/6723961920169319529515/
作者:
2015/4/18 16:56:23
23楼:
回复楼上两位 32位的性能差不多,firedac的32位比64位略差一些。上面有连接有源码,有兴趣可以自己编译测试。
----------------------------------------------
Delphi4Linux Delphi三层/FireDAC 技术群:734515869 http://www.cnblogs.com/rtcmw
作者:
tiez (骑牛夜旅)
★☆☆☆☆
-
普通会员
2015/4/19 9:43:55
24楼:
广大用devexpress的朋友,TdxMemData也是不错的哦
----------------------------------------------
-
作者:
iny (盒子)
★☆☆☆☆
-
盒子活跃会员
2015/4/19 10:28:36
25楼:
期待用DX的TdxMemData测试对比下
----------------------------------------------
-
作者:
2019/5/22 22:04:26
26楼:
新的测试结课。用的是 Rio 10.3
此帖子包含附件: 大小: 24.0K
----------------------------------------------
-
作者:
etjon (etjon)
★☆☆☆☆
-
普通会员
2019/5/22 23:29:02
27楼:
請問還可以提供源碼測試嗎
----------------------------------------------
-
作者:
2019/5/23 6:29:12
28楼:
clientdataset还比FDMemTable快?
----------------------------------------------
-
作者:
2019/5/23 13:31:02
29楼:
测试源码
----------------------------------------------
Delphi4Linux Delphi三层/FireDAC 技术群:734515869 http://www.cnblogs.com/rtcmw
作者:
etjon (etjon)
★☆☆☆☆
-
普通会员
2019/5/23 14:18:55
30楼:
您好 29 樓,實在是在太謝您了~~~~
----------------------------------------------
-