卷须
警告:此库尚处于开发的早期阶段,它包含大量unsafe代码。 使用风险自负!
介绍
Tendril是一种紧凑的字符串/缓冲区类型,针对零拷贝解析进行了优化。 Tendrils具有拥有的字符串的语义,但有时是共享缓冲区的视图。 当您对卷须进行突变时,如有必要,将制作一份拥有的副本。 进一步的突变就地发生,直到字符串共享为止,例如,与clone()或subtendril()共享。
缓冲区共享是通过线程局部(非原子)引用计数来完成的,这具有非常低的开销。 Rust类型的系统将阻止您在编译时在线程之间发送卷须。 (有关放松此限制的想法,请参见下文。)
String在堆中为任何非空字符串分配,而Tendril可以内联存储小字符串(最多8个字节),而无需分配堆。 Tendril比也较小String在64位的平台- 16个字节与24 Option<Tendril>是大小为相同Tendril ,
评论0
最新资源