作者victoret (戏言~)
看板EE_DSnP
标题[请益] 关於执行速度(效能)
时间Sun Dec 4 17:39:56 2011
关於效能方面
个人有个问题...ˊˋ
首先是拿原来的 Makefile 和 Makefile.in 做测试
执行 do2 的时间是 dlist > bst > array
然而在依照
#1A2Qnj-T 教授的说明修改了 Makefile 和 Makefile.in 之後
就变成 dlist > array > bst 了...
由於现在正要着手写 report
想请问一下究竟要以哪个为准会比较妥当?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.4.181
1F:→ e124553423:三个都写?重点放bst吧,另外两个大家应该不会差太多 12/04 17:47
2F:→ victoret:问题是长在...array 比 bst 快啊ˊˋ 12/04 17:56
3F:→ djshen:我-O3 array也比较快 主要是慢在adtd -r 12/04 18:16
4F:→ djshen:不知道为什麽= = 12/04 18:19
5F:→ victoret:++ 的问题,个人 ++ 里的判断式换一下...就快了 30 % 12/04 19:06
6F:→ victoret:还有 call 一些要跑个半天的 function 的时候,把回传的 12/04 19:07
7F:→ victoret:值存起来也可以省下不少时间(array 的部分) 12/04 19:07
8F:→ victoret:array 是时间变成原来的 2 / 3...超夸张@@ 12/04 19:08
9F:→ rf0914:还是资料不够多的问题?? 我用adta -r 500000 高下立判XD 12/04 19:09
10F:→ rf0914:不过等了一个多小时... 12/04 19:10
11F:→ djshen:insert绝对是bst快 adta -r 1000000不用两秒 array就... 12/04 19:14
12F:→ victoret:现在是想要知道修改 makefile 到底影响到什麽??? 12/04 19:17
13F:→ shryuhuai:是看各个指令需要花的时间吧,bst大部分都花在delete 12/04 19:21
14F:→ djshen:adtd -r 在adtTest.h的getPos array是constant time 12/04 19:22
15F:→ djshen:bst就麻烦了 看++写得怎样 12/04 19:22
16F:→ shryuhuai:我的bst就是在最後一个指令被array逆转的 12/04 19:23
17F:→ victoret:很妙的,用了 O3 之後我跟同学的比较一下发现差不多 12/04 19:24
18F:→ djshen:erase的话 array要往前移 bst就看哪个case 最多也logn吧? 12/04 19:24
19F:→ victoret:但是 O3 之前...他的 2 秒...我的 6 秒...不解ˊˋ 12/04 19:24
20F:→ shryuhuai:bst在其他指令应该都会大胜array吧? 12/04 19:24
21F:推 alvin1019127:借标题问一下,老师的array是不是用binary search? 12/04 19:24
22F:→ victoret:要到那个速度应该要用 binary search 吧... 12/04 19:25
23F:→ shryuhuai:一定是吧,不然不会比dlist快那麽多 12/04 19:25
24F:→ djshen:我insert跟erase(T)的某个地方有用 12/04 19:26
25F:→ shryuhuai:dlist因为search太慢,连insert都会输array = = 12/04 19:26
26F:推 ric2k1:回 alvin1019127: 当然罗! 12/05 00:32
27F:→ ric2k1:dlist 如同有些人的讨论一样,我改了一两行判断式之後 12/05 00:33
28F:→ ric2k1:也快了一些,但我懒得再上传 ref 了 12/05 00:33
29F:推 ric2k1:推专业的五楼! 大家可以选择 -g 或 -O3 其中一种来讨论即可 12/06 14:13
30F:→ ric2k1:但如果要去探讨为什麽 -g 与 -O3 之间会什麽会有差别, 12/06 14:14
31F:→ ric2k1:也是很欢迎啦! 12/06 14:14
32F:推 AlexCYW:顺便问一下 如果使用有parent的BST是不是memory会比ref多 12/06 22:19
33F:→ AlexCYW:我使用adtr 100 adta -r 100000 ref是13.03M 我是13.8M 12/06 22:20
34F:→ AlexCYW:虽然看起来好像每个NODE多8B 但是我电脑是32-bit的 12/06 22:21