Jun 2025
Languages
- Rust
- Async from scratch 系列教程
- Roto An Embedded script language that is fast, safe and easy to use. 这个脚本语言在某种程度上很符合我的个人偏好,不过,内在的不支持 loop 的设计是否会限制语言的应用场景?作为一个 safe 的脚本语言,其边界必须是 精心控制的,强类型适合于 compiled(基于cranelift项目),这有利于鲁棒性和性能。
- SIMD in zlib-rs
- Rust memory latency and performance
- New CPUs don't speed up old code
- Data oriented design: Flat dara structure are better for memory locality
- Memory Latency vs CPU operation
- Memory Allocation Tips
- smallvec 类似于 Arrow 的 Variable-size Binary View Layout
- smallstr
- Stack vs heap 以及广义的类 String/Vec 数据结构中的一级存储、二级存储。
- rust drop 开销比 alloc 要大: 是否是因为 drop 自身的开销而非 dealloc?
- memory alignment 对性能的影响
- Global Allocators
- jemalloc: 多线程、大量小对象(chunk设计)
- default/ptmalloc: 单线程
- tcmalloc: 三级 ThreadCache + CentralCache + PageHeap, 自旋锁, 小对象无锁分配,瞬态高并发
- RingBuffer:使用数组模拟链表,更好的内存局部性