#interning #intern #string #str

nightly tucan

简单、快速且支持多线程的松散类型要求互斥器

5 个版本

0.1.5 2023 年 4 月 14 日
0.1.4 2023 年 4 月 13 日

#724 in 并发

Download history 21/week @ 2024-03-31 32/week @ 2024-04-14

每月 73 次下载

0BSD 许可证

15KB
413

Tucan:一个具有垃圾回收的简单互斥器

Tucan 是一个非常基本的具有垃圾回收功能的互斥器。它添加了一个 Intern 特征,允许您将任何实现了 HashSendSyncEq 的类型进行互斥。互斥元素的关键字称为 Interned,它们围绕一个 Arc<T> 进行包装。它们实现了 DerefTClone。当调用 gc() 函数时,tucan 会查找所有不是由任何 Interned 引用的互斥器条目,并将它们删除。

注意

Tucan 使用 sip-hash 来检查两个值是否相同。因此,如果两个值具有相同的类型并且具有碰撞的哈希值,则它们将被互斥为相同的值。这意味着可能会发生冲突。这是为了保持互斥器简单快速,并且对可以互斥的类型要求非常宽松而有意识的设计决策。

依赖项

~0.6–6MB
~17K SLoC