|
|
导航: |
论坛 -> DELPHI技术
斑竹:liumazi,sephil |
|
作者: |
lsuper (lsuper) |
★☆☆☆☆ |
-
|
盒子活跃会员 |
|
2019/4/11 20:30:24 |
标题: |
Delphi 空工程大小对比(VCL;x86/x64;release) |
浏览:2281 |
|
加入我的收藏 |
楼主: |
搬运自 b4a 上看到的最新版:Delphi empty projects (VCL; x86/x64; release) size comparison
此帖子包含附件:
大小:45.4K |
----------------------------------------------
- |
作者: |
|
2019/4/11 20:38:04 |
1楼: |
壳越来越重哦
----------------------------------------------
==========
|
作者: |
|
2019/4/11 22:04:30 |
2楼: |
没什么意义。怎么不说9几年时候的网速是多慢,硬盘和内存多小,价格是多贵,现在的网速是多快,硬盘内存的容量多大,价格多便宜。看下手机上的微信和QQ安装上是多大。
----------------------------------------------
山外青山楼外楼,能人背后有能人弄..
|
作者: |
|
2019/4/11 23:01:34 |
3楼: |
为什么会越来越大,具体多了什么,需要的是这些信息!
----------------------------------------------
-
|
作者: |
lsuper (lsuper) |
★☆☆☆☆ |
-
|
盒子活跃会员 |
|
2019/4/12 0:28:37 |
4楼: |
如楼上所说,不是具体大多少占空间等(当然,有参考意义,如要支持 x64 在乎大小肯定选 XE2 等),而是为啥大,这个趋势:
1、如 XE5 大幅下降,应该没少重构(之前 FMX 引入、跨平台开发没隔离好,对 RTL 的冲击),能不被市场推着走,在还技术债? 2、如 10.1 和 10.2 差不多,估计 VCL 变化不大,而 10.3 又上去了,配合 http://blog.qdac.cc/?p=4981 的结果,主要是 dpi 的改进? 3、以上,纯属个人片面分析 ~
----------------------------------------------
-
|
作者: |
|
2019/4/12 6:11:04 |
5楼: |
还在用D7。。。。 别的就不说了,说多了伤肝,对身体不好,特别是对我这种半截入土的老年人。。。。
----------------------------------------------
Delphi威武!千秋万代,一统江湖!Delphi威武!千秋万代,一统江湖!Delphi威武!千秋万代,一统江湖!Delphi威武!千秋万代,一统江湖!Delphi威武!千秋万代,一统江湖!Delphi威武!千秋万代,一统江湖!Delphi威武!千秋万代,一统江湖!我去WC吐一会儿去!
|
作者: |
go_on (go_on) |
★☆☆☆☆ |
-
|
盒子活跃会员 |
|
2019/4/12 8:35:01 |
6楼: |
正式的项目应该差别不大,空工程其实没有意义
----------------------------------------------
www.eudn.cn工程师联合开发网
|
作者: |
|
2019/4/12 10:20:46 |
7楼: |
用几个第三方组件,比如DevExpress,1个exe轻松 几十M
最大的消耗: RTTI
进入 \Program Files (x86)\Embarcadero\Studio\20.0\bin 目录, 按大小顺序排个序 ld-linux.exe 71M bcc32c.exe 32M cpp32c.exe 32M bcc32x.exe 32M ... 超过1M的文件有 144个
进入 Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE 按大小顺序排个序 msenv.dll 9M msvbide.dll 5M ... 超过1M的文件有 17个
大小并不是不能优化的,Embarcadero只是在随意的挥霍,与某些人的观点一样。 现在磁盘,内存大了,那就随意浪费呗。
----------------------------------------------
-
|
作者: |
|
2019/4/12 11:07:29 |
8楼: |
就EXE 项目,使用bpl,可以缩小2/3.
----------------------------------------------
-
|
作者: |
|
2019/4/12 11:52:11 |
9楼: |
一方面是RTTI造成的体积剧增,另一方面是泛型库代码造成的。 从Delphi2010加入新的RTTI后体积就开始增大 加入泛型后跳跃了一个新的台阶。 而在Classes引用了泛型单元Generics.collections后,那体积就别说多酸爽了。
我自己重写的RTL类库,主要是SysUtils,Classes这两个单元,用来开发体积小的工程。基本编译出来只有200-300KB,去掉RTTI后会再小一点点。
所以体积最大的贡献就是引入泛型单元的classes单元。
----------------------------------------------
武稀松http://www.raysoftware.cn
|
作者: |
|
2019/4/12 14:14:46 |
10楼: |
受教了。我之前发现引入classes导致大小膨胀厉害。但一直以为RTTI是主因。
也发现classes中把之前的TList,都改成了TList<T>,曾经提建议, 不要做这样的修改,不要让classes依赖Generics.collections, 因为TList改成TList<T>,根本毫无意义。
但没鸟用。
泛型的唯一作用:浪费体积,少写点代码。 我觉得应该规定:泛型只能给咱们(业务开发)用,RTL不得使用泛型。
----------------------------------------------
-
|
作者: |
|
2019/4/12 22:28:00 |
11楼: |
体积大小还是有意义的,同样的功能算法以前不到1MB大小,现在高出10倍左右,好处没体现。 网络速度再快,内存和硬盘再海量,能够小还是小。 与MS无可比较性,因为很多runtime东西都在WINDOWS里面了。
----------------------------------------------
==========
|
作者: |
|
2019/4/12 23:01:52 |
12楼: |
@zwjchinazwj (蒲石) 我觉得应该规定:泛型只能给咱们(业务开发)用,RTL不得使用泛型。
你这句话是对的,比如VC的类库MFC,ATL,stl模板库都没有在里面用。STL基本就是给我们做业务的用的。如果MSVCRT这种RTL库都用了STL我觉得是不合理的。 同理,VCL,FMX自身我觉得不该用泛型,泛型是给开发者外挂使用的。
----------------------------------------------
武稀松http://www.raysoftware.cn
|
作者: |
|
2019/4/13 13:49:39 |
14楼: |
几M与十几M,在运行效率差别上只有毫秒级,对人的主观感受来说,没有意义。而对程序效率而言,因为网络传输的是数据,而exe/app处理的是也数据,这个不会因目标代码变大而影响传输和处理效率,或是影响是非常轻微的。 delphi目标代码的增量是非常有限的,即是,你以release方式编译,体量达到一个限度后,例如12M(我观察,除引入dev外,dev是非常另类的)你引入的库、第三方组件再增加,同类的或不同的组件,目标程序也不会再增加体量。 另外,lsuper大师难得出来,大家别光忙着写代码,赶快出来捧场,活跃一下盒子的氛围。
----------------------------------------------
-
|
作者: |
|
2019/4/14 10:43:43 |
15楼: |
就是因为“几M与十几M,在运行效率差别上只有毫秒级,对人的主观感受来说,没有意义” 所以,要特别花点时间,把classes.pas 中 FItems: TList; 换成 FItems: TList<TCollectionItem>; 然后让exe臃肿,最后来证明“大”更好? 除此以外,由此不用写强制转换,给写classes.pas的程序员带来的一点快感。
我不知道这样洗地的言论有什么积极意义。
----------------------------------------------
-
|
作者: |
szlbz (秋风) |
★☆☆☆☆ |
-
|
盒子活跃会员 |
|
2019/4/14 10:48:14 |
16楼: |
@wr960204 (武稀松) 武大侠,能提供你重写的SysUtils,Classes这两个单元给我们用吗?
----------------------------------------------
-
|
|