compact_str
string-rosetta-rs
compact_str | string-rosetta-rs | |
---|---|---|
16 | 5 | |
541 | 109 | |
- | 0.0% | |
7.6 | 6.7 | |
3 days ago | about 1 month ago | |
Rust | HTML | |
MIT License | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
compact_str
-
Announcing `compact_str` version 0.7! A small string optimization for Rust
Not that I know of! As part of compact_str v0.6 we tried to make the API of CompactString 1:1 with String, inevitably we missed a few (1, 2, 3) things but they were fixed in this latest release.
... and more! Please see the CHANGELOG for more detail
-
Is there a type like `std::num::NonZero*` but for other values than zero?
(See the compact_str implementation as an example.)
-
Announcing `compact_str` version 0.6! A small string optimization for Rust
Along with performance improvements, this release includes implementing multiple methods for CompactString, to bring its API nearly 1:1 with String. The only exception being methods that don't have a direct port for a small string optimization, e.g. into_bytes, or methods that aren't yet stable. A full change log can be found here.
- What is Box and how is it different from String in Rust?
-
Announcing `compact_str` version 0.5! A small string optimization for Rust
Doing this has been on the back of my mind for a while, just filed an issue to track this! #119
-
Announcing `compact_str` version 0.4! A small string optimization for Rust
There's a draft pr for this.
-
Why is it so hard to get traction learning rust?
Here're a few projects I considered interesting (including my own project) and relatively easy to participate: - pushgen Push-style design pattern for processing of ranges and data-streams. - compact_str A memory efficient immutable string type that can store up to 24* bytes on the stack - openssh-rs Scriptable SSH through OpenSSH in Rust - pegasus A multi-node parametrized command runner with a focus on simplicity - concurrent_arena Container that can have elements insert/removed concurrently and uses a 'u32' as key.
-
Inlined string (in ~200 LOC)
I wrote something similar to compact_str, but it is: - a Box when on the heap - (so clone is O(n)) - (but still immutable) - 2 usizes in size
-
Is there any other programming language aside from C++ that has move semantics feature available?
Here you go: https://github.com/ParkMyCar/compact_str
string-rosetta-rs
-
Choosing a more optimal `String` type
These leaves off several relevant string types, including ecow which was encouraged over smol_str [0]
See https://github.com/rosetta-rs/string-rosetta-rs for some more analysis. HipStr also has a decent table [1]
[0] https://www.reddit.com/r/rust/comments/117ksvr/ecow_compact_...
[1] https://crates.io/crates/hipstr
- region allocator for strings
-
Announcing `compact_str` version 0.6! A small string optimization for Rust
SmolStr can online 22 characters and is immutable, but it is atomically ref counted so cloning is O(1). A good comparison of different string types can be found here
-
Announcing `compact_str` version 0.5! A small string optimization for Rust
Checkout this string-benchmarks-rs
- GitHub - epage/string-benchmarks-rs: Comparison of Rust string types
What are some alternatives?
smartstring - Compact inlined strings for Rust.
bitter - Extract bits from a byte slice
DIPs - D Improvement Proposals
STC - A modern, user friendly, generic, type-safe and fast C99 container library: String, Vector, Sorted and Unordered Map and Set, Deque, Forward List, Smart Pointers, Bitset and Random numbers.
smol_str
openssh - Scriptable SSH through OpenSSH in Rust
zero-copy-pads - Padding/aligning values without heap allocation
rust - Empowering everyone to build reliable and efficient software.
perf-ninja-rs - Rust port of dendibakh/perf-ninja - an online course where you can learn and master the skill of low-level performance analysis and tuning.
pegasus - An SSH command runner with a focus on simplicity
readable - Human readable strings