以一个常见的任务为示例,争取触及到常见的每一个程序瓶颈。
读取皮层 stereo-seq 数据
- 统计不同分区的 mt 表达占比
- 绘制 bin50 级别线粒体基因表达占比热图
- 绘制特定 mask 下的表达
- 安装 uv
- 基于原始源:https://docs.astral.sh/uv/getting-started/installation
- 基于 pip(不推荐但是简单):
pip install uv
- 执行
uv sync
- 处理 gz 文件
- 分割 csv、转换文本到数字
- 多次重复查找特定几个 mt 基因,
- 为大量(>100_0000)数据生成 figure
- 隐式类型转换导致占用空间成倍增加
- 使用过大类型导致占用空间成倍增加
- 不按顺序读取矩阵
- 链式操作中间结果翻倍占用内存
- 只想获取一部分数据的引用,却造成了复制
- 大块数据放在低带宽设备