tinyvec VS session-types

Compare tinyvec vs session-types and see what are their differences.

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
tinyvec session-types
4 2
605 546
- -
4.4 0.0
about 2 months ago over 1 year ago
Rust Rust
Apache License 2.0 MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.

tinyvec

Posts with mentions or reviews of tinyvec. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-05-01.
  • The Better Alternative to Lifetime GATs
    6 projects | /r/rust | 1 May 2022
    funny indeed. i changed all my projects to use tinyvec
  • "pure safe crates"
    3 projects | /r/rust | 17 Apr 2021
    I've seen the cost of zeroing memory be measurable, or maybe significant enough to care about, but I've never seen 90% of cycles spent on it, the only case I know of that gets close is creating an empty TinyVec versus an empty SmallVec with an inline buffer of 256 bytes. In my opinion that's an unreasonably large inline buffer. At inline buffers of 128 bytes and below, the overhead is less than 50%, and that's on a microbenchmark of the Default impl; the effect is rapidly diluted in a real program.
  • single-producer single-consumer concurrent queue
    5 projects | /r/rust | 29 Mar 2021
    My point is that "implementation that doesn't use unsafe" is not necessarily always slower than "implementation that does use unsafe". Often people assume that this is the case, and it isn't. tinyvec currently beats smallvec in more than a few benchmarks. Not all, but some. And this sometimes visible to users. The point is that if you want speed, you don't necessarily need to give up any safety at all. Most differences in performance are due to the amount of effort or expertise that has been spent on the codebase, not the amount of unsafe in it.
  • Now that the long-awaited const generics (MVP) have come to stable in 1.51, what crates are going to gain the most from it?
    5 projects | /r/rust | 25 Mar 2021
    https://github.com/Lokathor/tinyvec will definitely benefit, although not as much as something currently relying on typenum.

session-types

Posts with mentions or reviews of session-types. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-05-01.
  • The Better Alternative to Lifetime GATs
    6 projects | /r/rust | 1 May 2022
    But there's no law of nature that says that Rust type-level syntax must suck forever. Maybe Rust 2036 will make writing this stuff a breeze, who knows. But for now, there are some projects that attempt to fill this gap, like Tyrade, which is a Rust DSL (like, a proc macro) that compiles down to bare Rust. It has seen some usage: there's a session types library built on top of Tyrade that is just awesome:
  • Rusty Typestates – Starting Out
    3 projects | news.ycombinator.com | 3 Dec 2021
    Since this often matters when implementing protocols, there is research about session types and verification. Here is a Rust library for session types: https://github.com/Munksgaard/session-types

    I believe both have some overlap.

What are some alternatives?

When comparing tinyvec and session-types you can also consider the following projects:

heapless - Heapless, `static` friendly data structures

rust-fsm - Finite state machine framework for Rust with readable specifications

trantor - a non-blocking I/O tcp network lib based on c++14/17

hyper-ts - Type safe middleware architecture for HTTP servers

storages-api

tyrade - A pure functional language for type-level programming in Rust

utils - Utility crates used in RustCrypto

totally-safe-transmute

serde - Serialization framework for Rust

trust-dns - A Rust based DNS client, server, and resolver [Moved to: https://github.com/hickory-dns/hickory-dns]

uom - Units of measurement -- type-safe zero-cost dimensional analysis