#thread-safe #atom #string #pi #memory #pool #reduce

pi_atom

The global thread safe atomic string pool reduces the memory occupation of the same string and is also used for HashMap keys

13 unstable releases (3 breaking)

0.5.3 Mar 13, 2024
0.5.0 Nov 7, 2023
0.2.6 Mar 27, 2024
0.2.4 Apr 17, 2023
0.1.0 Mar 1, 2022

#162 in Concurrency

Download history 26/week @ 2023-12-18 24/week @ 2023-12-25 33/week @ 2024-01-08 17/week @ 2024-01-15 13/week @ 2024-01-22 4/week @ 2024-01-29 17/week @ 2024-02-05 32/week @ 2024-02-12 46/week @ 2024-02-19 82/week @ 2024-02-26 297/week @ 2024-03-04 266/week @ 2024-03-11 59/week @ 2024-03-18 230/week @ 2024-03-25 270/week @ 2024-04-01

851 downloads per month
Used in 18 crates (16 directly)

MIT/Apache

14KB
332 lines

pi_atom

全局的线程安全的原子字符串池,减少相同字符串的内存占用,也用于hashmap的键

如果全局该字符串最后一个引用被释放, 则该字符串会释放。

为了减少不停的创建和放入池的次数,高频单次的Atom,可以在应用层增加一个cache来缓冲Atom,定期检查引用计数来判断是否缓冲。

Dependencies

~2.4–9.5MB
~68K SLoC