smartstring:用于Rust的紧凑型内联字符串

时间:2021-04-13 10:39:51
【文件属性】:
文件名称:smartstring:用于Rust的紧凑型内联字符串
文件大小:38KB
文件格式:ZIP
更新时间:2021-04-13 10:39:51
Rust 聪明的弦 紧凑的内联字符串。 tl; dr 源与std::string::String兼容的字符串类型,使用完全相同的空间量,不会通过将短字符串(在64位拱形上最多23个字节)存储在String会占用的空间中来堆分配已经占用了堆栈,使字符串总体上变快了。 概述 此板条箱为Rust的标准String提供了一个包装器,该标准String使用String在堆栈上占用的空间来存储内联字符串数据,并在其超出内联容量时自动将其升级为String 。 由于将字符串保留在堆栈中,因此具有避免为短字符串分配堆以及提高性能的优点。 不需要外部判别就可以完成所有操作,因此SmartString的大小与堆栈上String大小完全相同,无论它是否内联,并且在不内联时,它的指针都与String兼容,这意味着您可以安全地进行操作使用std::mem::replace()或pointer::cast()将Smart
【文件预览】:
smartstring-master
----.gitignore(19B)
----release.toml(159B)
----benches()
--------smartstring.rs(3KB)
----src()
--------test.rs(20KB)
--------iter.rs(4KB)
--------casts.rs(645B)
--------proptest.rs(767B)
--------arbitrary.rs(646B)
--------marker_byte.rs(2KB)
--------serde.rs(2KB)
--------boxed.rs(1KB)
--------inline.rs(3KB)
--------config.rs(5KB)
--------lib.rs(39KB)
----.travis.yml(405B)
----fuzz()
--------.gitignore(25B)
--------fuzz_targets()
--------Cargo.toml(603B)
----CODE_OF_CONDUCT.md(3KB)
----CHANGELOG.md(3KB)
----Cargo.toml(1KB)
----.github()
--------workflows()
----README.md(3KB)
----proptest-regressions()
--------test.txt(785B)
----LICENCE.md(15KB)

网友评论