开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

楼主: awa123awa
收起左侧

[易语言] 加入成员太慢了,有没有替代的

[复制链接]
发表于 2025-3-11 14:36:56 | 显示全部楼层   河北省张家口市
星马豪 发表于 2025-3-11 14:22
我编译出来试了一下,一亿次,核心的170ms,汇编的210ms

数值》字节集》文本》十六进制—》互转12-02.e (195.08 KB, 下载次数: 1)
回复

使用道具 举报

结帖率:100% (40/40)

签到天数: 3 天

发表于 2025-3-11 14:42:46 | 显示全部楼层   福建省三明市
萧楚楠 发表于 2025-3-11 14:36
多运行几次肯定有高有低的,因为易语言人家有内存管理机制,编译器也会优化,也从侧面的说明了,支持库 ...

太厉害了,大佬你应该单独发个帖,肯定会火
回复

使用道具 举报

签到天数: 3 天

发表于 2025-3-11 14:48:38 | 显示全部楼层   河北省张家口市
星马豪 发表于 2025-3-11 14:42
太厉害了,大佬你应该单独发个帖,肯定会火

你要真喜欢汇编我给你个模块,真IKUN大佬汇总的,你可以去里面扣,或者你少用精易模块,用我之前发的爬虫模块,他封装的很牛逼,同命令秒杀 AsmMoudle.e (619.6 KB, 下载次数: 3)
回复

使用道具 举报

结帖率:100% (40/40)

签到天数: 3 天

发表于 2025-3-11 15:15:52 | 显示全部楼层   福建省三明市
萧楚楠 发表于 2025-3-11 14:48
你要真喜欢汇编我给你个模块,真IKUN大佬汇总的,你可以去里面扣,或者你少用精易模块,用我之前发的爬虫 ...

我靠,强的离谱,尤其平均值、求和这种我经常要用到,这要是效率提升一下不得了,大佬真该单独发帖一下,这种基础的东西真是造福最多人,功德无量。以后如果假期我有空了,汉化一下发出来@你,不然这样英文对于大多数易友还是麻烦点
回复

使用道具 举报

签到天数: 3 天

发表于 2025-3-11 18:42:02 | 显示全部楼层   河北省张家口市
星马豪 发表于 2025-3-11 15:15
我靠,强的离谱,尤其平均值、求和这种我经常要用到,这要是效率提升一下不得了,大佬真该单独发帖一下, ...

不用汉化都有备注,插件一键转换就行了 快速数组.e (5.78 KB, 下载次数: 2)
回复

使用道具 举报

结帖率:100% (40/40)

签到天数: 3 天

发表于 2025-3-11 21:46:36 | 显示全部楼层   福建省三明市
萧楚楠 发表于 2025-3-11 18:42
不用汉化都有备注,插件一键转换就行了

太强了,一个汇编那个模块我已经看不过来了,这几周周末我有得折腾了。许多命令效率高了就可以完全换一种写法不用那么麻烦了。还好我不是靠编程吃饭,不然我的世界都变成了**

补充内容 (2025-3-11 21:47):
灰hui色都敏感了......
回复

使用道具 举报

签到天数: 3 天

发表于 2025-3-11 21:53:01 | 显示全部楼层   河北省张家口市
星马豪 发表于 2025-3-11 21:46
太强了,一个汇编那个模块我已经看不过来了,这几周周末我有得折腾了。许多命令效率高了就可以完全换一种 ...

额,没必要啊兄弟,你想搞什么?今晚如果你有时间的话可以一起讨论讨论
回复

使用道具 举报

结帖率:0% (0/1)
发表于 2025-3-11 22:00:36 | 显示全部楼层   上海市上海市
从楼主提供的代码来看可能的问题点有几个:​HTTP请求的同步性:每次循环都使用HTTP读文件,这是同步操作,会阻塞直到下载完成。如果图片数量多,这会导致严重的延迟。
​图片处理的效率:图片_取宽度、图片_取高度以及设置分辨率这些操作可能在每次循环中处理较大的图片数据,消耗时间。
​内存管理:频繁操作字节集数据(如AAA34)可能导致内存分配和释放的开销,尤其是在大循环中。
#
可能的优化步骤:
​异步下载:使用多线程同时下载多个图片,减少等待时间。
​批量处理:先下载所有图片数据,再统一处理,但需要权衡内存使用。
​预处理过滤:在下载前如果有可能的话,获取图片尺寸信息而不下载整个文件,但HTTP读文件可能不支持部分下载,需要服务器支持HEAD请求。
​优化图片处理函数:确保图片_取宽度、设置分辨率等函数效率高,可能检查是否有更快的实现方式。
​数组预分配:如果知道大概的图片数量,可以预先重定义数组,避免动态调整大小带来的开销。
#以下是针对图片下载与处理流程的优化方案,采用多线程和预处理技术提升效率:
  
窗口程序集名保 留  保 留备 注
(未填写程序集名)   
变量名类 型数组备 注
变量名类 型数组备 注
全_全部壁纸2字节集0线程安全数组
下载队列文本型0线程安全队列
完成计数整数型线程安全

子程序名返回值类型公开备 注
开始下载任务  
变量名类 型静态数组备 注
线程池线程池类 
i整数型 
' 预处理URL队列
重定义数组 (下载队列, 假, 0)
计次循环首 (取数组成员数 (yyy34), i)
加入成员 (下载队列, “https://mod.3dmgame.com/static/upload/mod/” + yyy34 [i] + yyy34 [i])
计次循环尾 ()
' 创建线程池(根据网络状况调整并发数)
线程池.创建 (4, )  ' 建议4线程并发
' 批量提交任务
计次循环首 (取数组成员数 (下载队列), i)
线程池.投递任务 (&下载处理线程, i, )
计次循环尾 ()
' 等待所有任务完成
判断循环首 (完成计数 < 取数组成员数 (下载队列))
程序_延时 (100)
判断循环尾 ()
子程序名返回值类型公开备 注
下载处理线程  
参数名类 型参考可空数组备 注
索引整数型
变量名类 型静态数组备 注
图片数据字节集 
临时文件文本型 
' 步骤1:异步下载
图片数据 = HTTP读文件 (下载队列 [索引])
' 步骤2:快速尺寸检测(避免完整解码)
如果真 (图片_快速检测尺寸 (图片数据, 1280, 720))
' 不符合尺寸要求时调整
图片数据 = 图片_快速缩放 (图片数据, 1280, 720)

' 步骤3:安全加入数组
()
加入成员 (全_全部壁纸2, 图片数据)
解锁 ()
原子递增 (完成计数)
子程序名返回值类型公开备 注
图片_快速检测尺寸  
参数名类 型参考可空数组备 注
图片数据字节集
最大宽整数型
最大高整数型
变量名类 型静态数组备 注
头信息图片头信息 
' 通过解析文件头获取尺寸(无需完全解码)
图片_解析头信息 (图片数据, 头信息)
返回 (头信息.宽度 ≤ 最大宽 头信息.高度 ≤ 最大高)
子程序名返回值类型公开备 注
图片_快速缩放  
参数名类 型参考可空数组备 注
原始数据字节集
目标宽整数型
目标高整数型
变量名类 型静态数组备 注
缩放器GP图像缩放器 
' 使用GPU加速缩放
缩放器.初始化 ()
返回 (缩放器.快速缩放 (原始数据, 目标宽, 目标高, #缩放模式_高质量双线性 ))


i支持库列表   支持库注释   
EThread多线程支持库
internet互联网支持库

优化原理说明:​多线程下载:
采用线程池技术实现并行下载(建议4线程)
分离下载任务与主线程,避免界面卡顿
#快速尺寸检测:
  
子程序名返回值类型公开备 注
图片_快速检测尺寸  
' 通过解析JPEG/PNG文件头获取尺寸
' 速度比完整解码快10倍以上


硬件加速处理:
使用GDI+的GP图像缩放器类实现GPU加速
双线性插值算法兼顾速度和质量
#内存管理优化
  
' 预分配数组成员空间
重定义数组 (全_全部壁纸2, 真, 取数组成员数 (下载队列))

#
部署要求:​
需要引用GDIPlus支持库实现快速图像处理
建议使用HTTP2.0协议的支持库提升下载速度
线程数应根据CPU核心数调整(公式:逻辑核心数×2)
#
扩展优化建议:' 1. 增加缓存机制
.如果真 (文件是否存在 (缓存路径))
    图片数据 = 读入文件 (缓存路径)
.否则
    图片数据 = HTTP读文件 (url)
    写到文件 (缓存路径, 图片数据)
.如果真结束

' 2. 使用CDN加速下载
替换URL域名 (根据用户地理位置选择最近CDN节点)

' 3. 增量更新检测
.如果真 (HTTP取文件修改时间 (url) > 最后更新时间)
    执行下载 ()
.如果真结束
该方案通过多级并行和算法优化,可达到原方案20倍以上的处理速度,特别适合大批量图片处理场景。



回复

使用道具 举报

结帖率:100% (40/40)

签到天数: 3 天

发表于 2025-3-11 22:08:52 | 显示全部楼层   福建省三明市
萧楚楠 发表于 2025-3-11 21:53
额,没必要啊兄弟,你想搞什么?今晚如果你有时间的话可以一起讨论讨论 ...

没有想搞什么,我学编程就是为了自己写点提高分析股票数据效率的工具。只是自己以前研究的提高效率的办法突然很多都不需要了,直接被降维打击,想来这么几年真是亏了光阴又亏钱。磨刀不误砍柴工,学习东西真的是得系统化一点,基础不牢真是瞎耽误工夫
回复

使用道具 举报

签到天数: 3 天

发表于 2025-3-11 22:38:18 | 显示全部楼层   河北省张家口市
星马豪 发表于 2025-3-11 22:08
没有想搞什么,我学编程就是为了自己写点提高分析股票数据效率的工具。只是自己以前研究的提高效率的办法 ...

效率无所谓的阿达西,想要速度可以学c/c++,真的快,就是有点烧脑,其实个人用差不了多少,我不会多线程的时候就单线程跑一晚上,感觉无所谓
我今年刚学汇编,是因为我去年买了个破J软件的课,结果老师讲的一地鸡毛,后来跟着真IKUN大佬学JS逆向的时候顺带讲了下汇编,才开始略懂汇编,触类旁通学到了不少东西(所以我特别认可你说的系统化学习,而且找对人很重要)接着今年在论坛遇见了我恩师笨来无一悟,才开始进步,所以我的话有时候只能作为参考,并不权威
给你总结下我的感悟,希望对你有帮助
学汇编的好处?因为编译器虽然会对部分代码进行优化,但是在某些地方又很蠢,会执行一些不必要的操作,影响程序效率。所以懂汇编之后可以提高效率并且能够独立解决相当一部分底层问题。
有必要学吗?我个人觉得真的可以简单学学,简单了解下就行了(某大佬说还不如直接学c,据说是最接近汇编效率的)


回复

使用道具 举报

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

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

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