火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 6349|回复: 15
打印 上一主题 下一主题

与以语言的简易速度对比

[复制链接]

35

主题

186

帖子

1858

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
1858
跳转到指定楼层
楼主
发表于 2020-12-23 17:37:50 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 szk820628 于 2020-12-23 18:17 编辑

本人测试了易语言 和 火山PC 的速度对比,对比方式如下:

分别进行了最简单的  》》》  *万次数组加入成员!!!

分别是 100W次数组成员加入,200W次数组成员加入,300W次数组成员加入,400W次数组成员加入,500W次数组成员加入

前期速度基本一致,在400W,500W的数组计算中,火山PC比易语言多用了2秒!!!

可惜啊,测试版本的火山PC惜败。。。。希望这是测试版的原因啊。

1.bmp (387.65 KB, 下载次数: 65)

1.bmp

2.bmp (387.65 KB, 下载次数: 65)

2.bmp
回复

使用道具 举报

42

主题

295

帖子

3207

积分

论坛元老

Rank: 8Rank: 8

积分
3207
沙发
发表于 2020-12-23 18:23:07 | 只看该作者
吴总封的核心库,整体效率都不是很高,不知道为什么,字节集操作类的效率比易语言还低。但是嵌入的C代码效率就很高。吴总还是可以稍微注重一下效率
回复

使用道具 举报

3

主题

126

帖子

2086

积分

金牌会员

Rank: 6Rank: 6

积分
2086
板凳
发表于 2020-12-23 19:04:37 | 只看该作者
我在一开始就提过潜在的效率风险,可惜被忽略了。
这也是没办法,火山的定位就是简单为主而不是效率为主。

火山是把其他语言套一层壳子变成火山类库。但是封装不是简单的翻译,吴总要求封装后的函数必须通俗易懂,让用户只看注释就能学会使用。一个很浅显的道理:越底层的代码效率越高,因为可以针对性优化;相反封装越简单的代码效率越低,因为要考虑普遍情况。

举个简单的例子,假设多选列表有一个函数叫 “取选中行()”。这个函数只需一句话就可以实现需求,非常通俗易懂。但关键在于你不知道他怎么实现的。是每次都遍历一遍?还是有个选中数组来缓存?如果是前者,而你不知道这个知识,那么错误的使用(例如在循环中取选中行)就会非常非常低效。相反,如果是后者实现的,但你不知道,为了提高效率自己又缓存一遍,这就浪费了内存。

因此,封装虽然对新手隐藏了内部实现,但同时也降低了针对性优化的可能性。上面是一个很简单的例子,实际情况复杂的多。例如,我见过很多在 Android 上需要几十上百行代码的功能被封装成一句话。看起来似乎很实用,但实际上很可怕,因为你根本不知道他内部究竟干了什么,所以不知不觉间,程序的整体效率就被拉开了。

事实上,很多看似一句话的代码,里面包含了对象的创建与释放,甚至生命周期管理。这种代码倘若大量在循环中使用,后果是灾难性的。虽然现在设备性能足够折腾,但要是所有应用都像火山这么玩的话,也拖垮了。

所以,真的在意性能,就不应该考虑火山。
回复

使用道具 举报

17

主题

794

帖子

2639

积分

金牌会员

Rank: 6Rank: 6

积分
2639
地板
发表于 2021-7-11 14:56:53 | 只看该作者
路过.....
回复

使用道具 举报

4

主题

38

帖子

572

积分

高级会员

Rank: 4

积分
572
5#
发表于 2021-7-11 15:51:25 | 只看该作者
楼主的代码, 在火山里面, 计次循环() 里面的次数不要每次都计算, 用一个变量保存下来, 否则每次循环都会去执行一次, 当然就慢了
回复

使用道具 举报

28

主题

117

帖子

452

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
452
6#
发表于 2021-7-11 16:26:34 | 只看该作者
把火山代码 换成  
循环(,内容*10000,i)
数组.加入成员(i)

我觉得循环 比计次循环高效
回复

使用道具 举报

1

主题

15

帖子

116

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
116
7#
发表于 2023-4-27 01:57:33 | 只看该作者
0晨鹤0 发表于 2020-12-23 19:04
我在一开始就提过潜在的效率风险,可惜被忽略了。
这也是没办法,火山的定位就是简单为主而不是效率为主。
...

这么一看,官方描述中的 "具有无与伦比的运行速度" 就更开玩笑一样
回复

使用道具 举报

13

主题

137

帖子

1245

积分

金牌会员

Rank: 6Rank: 6

积分
1245
8#
发表于 2023-4-27 02:44:59 | 只看该作者
xiaoai 发表于 2023-4-27 01:57
这么一看,官方描述中的 "具有无与伦比的运行速度" 就更开玩笑一样

你这个坟,挖的有意思吗,2020年底的帖子,隔了两年半这还回什么啊?
回复

使用道具 举报

143

主题

897

帖子

3625

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
3625
QQ
9#
发表于 2023-4-27 03:59:10 | 只看该作者
好像火山计次循环好像会每次循环都会读取一下循环次数的参数,而易语言就不会
白天不懂夜的黑
回复

使用道具 举报

57

主题

774

帖子

3575

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
3575
10#
发表于 2023-4-27 08:57:28 | 只看该作者
xiaoai 发表于 2023-4-27 01:57
这么一看,官方描述中的 "具有无与伦比的运行速度" 就更开玩笑一样

眼光别这么窄,火山效率低是相对c来说的(实际也不算慢,毕竟大点的项目都会封几层),c本身就是最快的了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2024-5-19 12:07 , Processed in 0.108535 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表