有趣的人才能造出好东西

Vibe coding 仙人,什么好玩研究什么,不限于 Python、AI、美食、美景、美人....

  • 130篇文章
  • 5个分类
  • 2019开始写作
江川
江川的黏土风卡通形象:盘腿而坐,短发、黑框眼镜、黑 T 恤

最新文章

全部归档 →
随笔

45. Set 是如何工作的(1)

Set 的功能其实与 Dict 的 Key 非常相似: 不可重复; 需要快速查找; 一些文章中认为 Set 是 Value 为空的 Dict,在逻辑上大体没问题,但具体实现还是有很大区别的。 PySetObject 的结 …

阅读全文
随笔

44. TupleObject 是怎样工作的?

TupleObject 是 Python 中另外一种常用对象,尤其是赋予了函数返回多个对象的能力。Tuple 可以看作是 “只读” 版本的 List,在最底层的 Object 数组操作上二者有异曲同工之妙,加上 …

阅读全文
随笔

43. Dict 的缓存技术

Python 中大量使用了小 Dict 对象,与前面提到的一些基本类型类似,除了利用内存池提高内存分配的效率,Dict 也实现了 Dict 结构体的缓存池,实现对 Dict 结构体的复用,其定义: 可以看到 Dict 的 …

阅读全文
随笔

42. Dict 的内存伸缩

目前已经对 Dict 的增查改删有了比较清晰的认识,对 Dict 的增删环节一直有一个细节没有澄清: dk entries 是如何伸缩的? 对 Dict 的内存伸缩过程理解了,才能真正搞清 dict.keys() 的顺序 …

阅读全文
随笔

40. Dict 是如何工作的(4)删除 K-V

删除字典中的 K V 是更新字典最常用的操作,与设置已有 K V 类似,在执行一切操作之前,需要先找到目标 dk entries。我们知道字典的搜索函数是一个指针,以便在不同时期切换合适的搜索函数。通过搜索函数找到目标 …

阅读全文
随笔

38. Dict 是如何工作的(2)查找元素

前一节以一个非常简单的例子,了解想 Dict 插入 K V 的过程,简而言之: dk indices 作为哈希表实现快速查询 Key; dk entries 是 K V 真实的栖身之所,就是一个数组; 哈希表中可能出现碰 …

阅读全文
随笔

37. Dict 是如何工作的(1)

上一节大致搞清楚了 Dict Object 的结构, 相比 《源码剖析》中陈儒先生研究的 2.5 版本,最新的 3.8 版本字典结构稍显复杂。不过,无论 Dict 的结构如何变化,其核心逻辑没有发生本质变化。今天剖析 …

阅读全文
随笔

36. Dict 的构造

需要注意的是 3.8 版本实现中,Dict 的结构较之前版本有一些调整。 其中 PyObject HEAD 是所有 Python 对象必备的元信息;ma version tag 会随着对 Dict 类的操作而自增,表示是 …

阅读全文

所有分类

热门文章

  1. 1
    CUDA 之后,NVIDIA 还有什么?

    市场长期将 CUDA 软件生态视为 NVIDIA 最深的护城河,但随着 Triton 等高级抽象编译框架的普及,底层硬件软件栈正在被“屏蔽”。竞争对手通过单卡算 …

  2. 2
    HBM3到4,发生了什么?

    1. DRAM与内存墙 2017 年,NVIDIA V100 搭载 HBM2 显存,带宽 0.9TB/s,峰值算力 125 TFLOPS。2023 年,H100 …

  3. 3
    如何实现可动态扩展的共享内存池

    开发者通常为了提高内存使用效率,或者避免内存泄漏,需要将内存池化管理。稍复杂一点的系统,一般都会有自己的内存管理机制,我在研读源码的时候,比较习惯先看内存管理模 …

  4. 4
    KNN分类算法经典案例——鸢尾花

    推荐书籍 这是我从大量算法书籍中精心筛选出来的,它 重视算法原理的理解, 用生动的例子替代晦涩的公式证明, 绘图也非常有趣, ​对非专业开发者十分友好​。 我的 …

  5. 5
    封神——傅立叶变换

    封神?一点都不夸张! 如果对所有算法排位,傅立叶变换绝对可以封神。傅立叶变换有多牛?!相当于给人类安了第三只眼!基本上不是人类能搞出来的东西。凡人,准备 …