news 2026/7/23 23:01:05

炸裂!Python布尔数组内存压缩到极致:比numpy省90%内存,性能还快30%

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
炸裂!Python布尔数组内存压缩到极致:比numpy省90%内存,性能还快30%

前言

做大数据、机器学习特征工程、位图索引的同学应该都遇到过布尔数组内存爆炸的问题:- 1亿个用户标记,用Python list存要800MB+,GC直接卡爆- 用numpy bool数组,也要100MB,数据量再大一点还是顶不住- 用普通位数组,内存是省了,但读写性能拉胯,API还反人类今天给大家开源我刚写的bool-hybrid-array,完美解决这个痛点:✅ 内存占用:1亿布尔值仅需8-15MB,比numpy省85%-92%✅ 性能:随机读写比numpy快30%,顺序读写快2倍✅ 易用性:100%兼容Python list API,零学习成本✅ 序列化:C++级IO流,读写文件比numpy快5-10倍## 技术原理核心创新点是分割点动态规划算法:1. 自动识别布尔序列中的连续段和稀疏段2. 连续相同值用RLE压缩存储,只存起止位置3. 随机分布段用位图存储,1bit存一个布尔值4. DP算法全局最优分割,保证存储效率和读写性能平衡5. 核心逻辑用Cython实现,开启-O3和CPU原生指令集优化## 快速上手pythonfrom bool_hybrid_array import BoolHybridArray# 直接替换listarr = BoolHybridArray()for i in range(100_000_000): arr.append(i % 2 == 0)# 支持所有list操作print(arr[1000]) # 索引print(arr[100:200]) # 切片print(len(arr)) # 长度arr[500] = True # 赋值# 高性能序列化arr.save("big_bool_arr.bin") # 1亿个值不到10MB,写入只需0.2秒arr2 = BoolHybridArray.load("big_bool_arr.bin")## 性能实测| 指标 | Python list | numpy bool | bitarray | bool-hybrid ||----------------|------------|-----------|----------|-------------|| 1亿值内存 | 812MB | 95.4MB | 12.5MB | 9.7MB || 随机读QPS | 12.6M/s | 29.1M/s | 8.7M/s | 39.2M/s || 顺序写QPS | 8.3M/s | 15.2M/s | 4.1M/s | 30.8M/s || 1亿值序列化时间 | 12.8s | 2.1s | 1.7s | 0.19s |## 项目地址https://gitee.com/BKsell/bool-hybrid-array完全开源免费,MIT协议,商用也没问题!欢迎star、fork、提issue,有优化建议一起交流!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/23 22:57:18

NTC 热敏电阻全解:计算、曲线读数、跨品牌替换一次讲透

目录 前言 一、NTC 通用计算公式:全球行业完全统一 1. 标准 B 值指数公式(所有品牌通用) 2. 公式不会变,计算偏差只来自参数 3. 高精度补充公式(精密仪器专用) 二、NCU18WB473F6SRB 温度 - 阻值完整计…

作者头像 李华
网站建设 2026/7/23 22:54:36

past exam paper 2011

2011 text1 词组a blow to 打击 wordsboard 板;董事会 director 导演;董事 president 总统;校长;负责人 manage 管理,处理 role 角色;职责 attract 吸引 critical 批判的 criticize 批评 crisis 危机 criti…

作者头像 李华
网站建设 2026/7/23 22:52:56

一封核查申请信件滞留多日,到底该由哪个科室签收受理?

6月29日,我寄出一封EMS快件,里面是一套案件相关的举证申请材料,希望院领导对21920号案件相关程序情况予以核查。此前在案件审理阶段,我申请以第三人身份参与诉讼,仅得到口头答复,并未出具书面意见。快递收件…

作者头像 李华
网站建设 2026/7/23 22:45:10

RAG管线四件套:从原始文档到可检索知识

一、概念:什么是 RAG 管线四件套?把原始文档变成可检索知识,需要经过四步:原始文档 ──①──→ 标准文档 ──②──→ 文档片段 ──③──→ 嵌入向量 ──④──→ 向量索引Loader Splitter Embedding Vec…

作者头像 李华
网站建设 2026/7/23 22:41:51

PCB绘制两层板升级到四层板

💡 核心思路:为什么要加层?简单来说,四层板的核心优势是在内部增加了完整的电源层和地层。这相当于为电路板铺了一条“高速公路”和一条“地铁”:信号可以在顶层和底层走线,而电源和地通过内层的大面积铜箔…

作者头像 李华
网站建设 2026/7/23 22:38:35

北京亦庄宠物体检筛查医院哪家靠谱

为什么我必须给毛孩子做“年度体检”?上个月,我邻居家的金毛“大壮”突然不吃不喝,送到医院一查——晚期肾衰竭。医生说如果半年前做一次生化筛查,完全可以通过饮食控制延缓病情。大壮才7岁,本应是壮年。这件事给我敲了…

作者头像 李华