tinyvec
trust-dns
tinyvec | trust-dns | |
---|---|---|
4 | 14 | |
604 | 3,254 | |
- | - | |
4.4 | 7.1 | |
2 months ago | 7 months ago | |
Rust | Rust | |
Apache License 2.0 | GNU General Public License v3.0 or later |
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
-
The Better Alternative to Lifetime GATs
funny indeed. i changed all my projects to use tinyvec
-
"pure safe crates"
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
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?
https://github.com/Lokathor/tinyvec will definitely benefit, although not as much as something currently relying on typenum.
trust-dns
-
Hickory DNS
If you don't know what is Trust-DNS / Hickory DNS, this seems to be the repo: https://github.com/bluejekyll/trust-dns
-
You might want async in your project
IO is not a part of the async runtime contract (I don't know if this is good or bad), and Tokio & futures famously have different `Async{Read,Write}` traits. I once had to do this [0] to adapt between them.
This means that any crate that uses IO will be bound to a limited number of Runtimes. Everything being Tokio-only is pretty bad (though Tokio itself is great), but here we are...
[0] https://github.com/bluejekyll/trust-dns/pull/1373#issuecomme...
-
Extract cert.pem and privkey.pem from acme.json
I need a cert.pem and privkey.pem for https://github.com/bluejekyll/trust-dns but even using the extractor to get a cert.pem and privkey.pem from the acme.json file it seems invalid.
-
What would you rewrite in Rust?
You might be interested in Trust DNS - "A Rust based DNS client, server, and Resolver, built to be safe and secure from the ground up."
-
Announcing `async-dns`
It looks like you need to reach for a separate crate for that: https://github.com/bluejekyll/trust-dns/blob/7dcb7b983f5407d95d93b800af13caeee975aaa8/crates/async-std-resolver/src/lib.rs
- Trust-Dns - A rust based dns client, server, and resolver
-
What I learned from making a DNS client in Rust
You might be interested in new alternative to dig called dns https://github.com/bluejekyll/trust-dns/blob/main/util/src/dns.rs . I found out about it from https://twitter.com/benj_fry/status/1513269287229657091
- Show HN: A Trust-DNS based dig alternative
-
Docker: Binary compiled with Musl works but not the one compiled with glibc
I've found the Trust-DNS Resolver crate and it does the job! Now the binary seems to not use any dynamic library to look up the ip of a host.
What are some alternatives?
heapless - Heapless, `static` friendly data structures
parity-bitcoin - The Parity Bitcoin client
trantor - a non-blocking I/O tcp network lib based on c++14/17
woodpecker - Drill is an HTTP load testing application written in Rust
storages-api
citybound - A work-in-progress, open-source, multi-player city simulation game.
utils - Utility crates used in RustCrypto
Parallel
totally-safe-transmute
rsedis - Redis re-implemented in Rust.
tyrade - A pure functional language for type-level programming in Rust
tauri - Build smaller, faster, and more secure desktop applications with a web frontend.