开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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


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

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

查看: 3220|回复: 36
打印 上一主题 下一主题
收起左侧

[易源码分享] L_内存池 已放弃更新维护,直接开源 (不能直接使用)

[复制链接]
结帖率:83% (39/47)
跳转到指定楼层
楼主
发表于 2024-6-14 19:51:46 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式   福建省宁德市
分享源码
界面截图:
是否带模块: 调用了模块
备注说明: -
本帖最后由 凌哥 于 2024-6-14 19:54 编辑

这东西从2020年做好到现在也4年了,我基本没怎么更新

设计思路就是很简单的用多个链表数组来适配不同大小的内存分配需求


得承认纯易语言代码还是不够快,而且虽然我已经实现了内存回收的功能,但效率太低

又因为mimalloc已经很稳定了,这个内存池也就一直放着,甚至是模块其他地方已经用大量的内联汇编优化了,内存池我也一直懒得动

已从凌哥E编程模块Dev版本中移除,不再为该内存池维护更新 (有没有可能我又搞个新的?)    该源码无法直接运行,会的人一眼就懂原理

开源顺便留个代码备份,这玩意儿其实算是在易语言这块,第一个用纯E代码实现这类设计的内存池吧


L_内存池.e (176.89 KB, 下载次数: 63)

内存池的更新记录:
v4.0.0.20240523
优化:L_内存池(类) 现在默认使用mimalloc单线程模式

v3.3.1.20220522
修复:L_内存池(类) 中的一处严重BUG,这个问题会导致高并发情况下的内存泄漏

v3.2.8.20220215
修复:L_全局_内存池(类) 中的一处严重BUG,该BUG会导致软件性能大幅度下降的同时,还有几率崩溃

v3.2.6.20211102
修复:L_全局_内存池(类) 内部控制线程在归还内存给操作系统时数组越界的BUG
优化:L_全局_内存池(类) 内存块存储方式调整为 L_整数型数组_*() 性能提升
优化:L_全局_内存池(类) 内存分配数量阈值调优,性能更高了(小内存块的预分配数量为32-64KB)

v3.2.5.20211010
新增:L_全局_内存池(类) 内部重新封装mimalloc内存池(在非XP系统下启用)
优化:L_全局_内存池(类) 解决了使用mimalloc内存池时线程数量过多导致内存占用非常大的问题

v3.2.4.20210909
内存池:模块内部的全局内存池(L_内存池) 新增内存归还到系统的功能,并且提升了大量线程并发申请/释放内存的性能

v3.1.4.20210514
修复:L_内存池(类)>>>重新分配() 在内部使用内存堆分配大数据时导致崩溃的问题
修复:L_队列(类) 内存访问越界导致模块全局内存池数据异常的问题
修复:L_链表(类) 由内存池分配的内存数据未清零导致的内存泄漏与死循环的问题
优化:L_内存池(类)>>>重新分配() 的内部逻辑,条件允许时会将之前超出[最大分配内存]的地址重新转入内存池中

v3.1.3.20210415
优化:L_内存池(类) 将默认分配的内存数量与长度设置得更加激进,效率提升
优化:模块内部所有主动内存分配的方式全部改为调用 L_内存池(类)

v3.1.2.20210316
新增:L_内存池(类) >>> 重新分配() 用于调整已分配的内存指针

v3.1.1.20210128
修复:L_内存池(类) 一个逻辑值写反导致异常崩溃的BUG

v3.1.0.20201217
新增:L_全局_内存池(类) 原生线程安全,已声明为全局变量"L_内存池"

评分

参与人数 3精币 +4 收起 理由
wa690602724 + 1 感谢分享,很给力!~
光影魔术 + 2 开源精神必须支持~
財財 + 1 感谢分享,很给力!~

查看全部评分


本帖被以下淘专辑推荐:

签到天数: 14 天

37
发表于 2024-9-4 08:34:48 | 只看该作者   湖北省武汉市
感谢分享!
回复 支持 反对

使用道具 举报

结帖率:100% (3/3)
36
发表于 2024-7-24 23:40:35 | 只看该作者   河南省洛阳市
感谢分享,需要学习下
回复 支持 反对

使用道具 举报

结帖率:25% (1/4)

签到天数: 10 天

35
发表于 2024-6-22 17:34:04 | 只看该作者   四川省泸州市
#在这里快速回复# 感谢分享,很给力!
回复 支持 反对

使用道具 举报

结帖率:0% (0/5)

签到天数: 3 天

34
发表于 2024-6-19 17:57:42 | 只看该作者   辽宁省丹东市
感谢分享,很给力!~
回复 支持 反对

使用道具 举报

结帖率:100% (1/1)
33
发表于 2024-6-19 14:14:49 | 只看该作者   广西壮族自治区柳州市
感谢分享源码
回复 支持 反对

使用道具 举报

结帖率:100% (2/2)

签到天数: 4 天

32
发表于 2024-6-19 09:22:36 | 只看该作者   广东省梅州市
支持开源!感谢分享~
回复 支持 反对

使用道具 举报

结帖率:100% (2/2)

签到天数: 17 天

31
发表于 2024-6-19 00:30:05 | 只看该作者   福建省泉州市
很喜欢这种深入浅出的教学方式。
回复 支持 反对

使用道具 举报

签到天数: 3 天

30
发表于 2024-6-18 15:30:37 | 只看该作者   湖北省宜昌市
666666666666
回复 支持 反对

使用道具 举报

结帖率:80% (4/5)

签到天数: 1 天

29
发表于 2024-6-18 09:40:30 | 只看该作者   山东省潍坊市
已经顶贴,感谢您对论坛的支持!
回复 支持 反对

使用道具 举报

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

本版积分规则 致发广告者

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

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

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