mutagen
template-benchmarks-rs
Our great sponsors
mutagen | template-benchmarks-rs | |
---|---|---|
8 | 9 | |
617 | 193 | |
- | - | |
0.0 | 3.1 | |
11 months ago | about 1 year ago | |
Rust | Rust | |
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.
mutagen
-
Rust Tests Itself (Kind of!)
There are two testing techniques you didn't mention: Snapshot tests (which are greatly simplified using the insta crate and mutation testing (which can be done on nightly with my mutagen crate.
-
What's everyone working on this week (6/2022)?
How does this compare to mutagen?
-
Hey Rustaceans! Got an easy question? Ask here (52/2021)!
Do you mean as part of build.rs? Yes, that's certainly doable, and has been done in the past. You can use env!("OUT_DIR") for that. Examples you may want to refer to include my mutagen crate and criterion.
-
Uncovered Intermediate Topics
Would be great if this could include mutation testing.
-
Question for experienced Rustaceans
I wrote a good number of macros though, both macro_rules! and various proc_macros. The latest iteration of overflower has both, for example. mutagen is a mutation testing tool built as a proc macro, and it's helper library has a bunch of macros, too. compact_arena uses macros to tie unique lifetime tags to arenas.
-
Make Your Tests Bulletproof With Mutation Testing
Also there are far more mutation testing frameworks. I maintain the rust-based mutagen one. There are also LLVM-based ones (etc. mull) that can cover multiple languages (but may yield mutations not expressible in your preferred one).
-
Mutable Arguments Considered Harmful | micouy.github.io
Cargo (and Rust) makes it so easy to write test cases that you should really use it to find these kinds of bugs. And there are other good test crates available: mutagen, quickcheck, etc.
-
Project Ideas
I had a student completely reachitecture my mutagen tool, and saw some working on various clippy contributions.
template-benchmarks-rs
-
Hyper – A fast and correct HTTP implementation for Rust
Any recommendations for rust template engines? I'd like something that can easily render labeled fragments of a template instead of requiring me to split a page into a dozen little files. Kinda like inline {{block}} definitions in Go's html/template. Speed is also nice.
From template-benchmark-rs [0] I found sailfish [1] (fast, but no fragments(?)). render-rs [2] and syn-rsx [3] (2022) both let you write html in rust macros which is cool (maybe that can substitute for fragments?). Then there's gtmpl-rust [4] which is just Go templates reimplemented in rust.
[0]: https://github.com/rosetta-rs/template-benchmarks-rs
[1]: https://github.com/rust-sailfish/sailfish
[2]: https://github.com/render-rs/render.rs last updated Jul 2020
[3]: https://github.com/stoically/syn-rsx last updated Nov 2022
[4]: https://github.com/fiji-flo/gtmpl-rust
-
Any web frameworks that could compare to Symfony?
Personally, I'd recommend Maud if you don't need something with runtime reloading. Not only is it much faster, it implements a template language that is effectively the Rust-syntax equivalent to Slim or Haml using a procedural macro, so you get compile-time verification that your HTML output is well-formed.
-
Benchmarking generational arenas
I've been maintaining several benchmark repos based off of template-benchmarks-rs. I've noticed there are several other benchmark repos that are hard to know about.
-
GitHub - epage/parse-benchmarks-rs
I'm tempted to collect all of these benchmark repos into a github org to make them easier to find. So far I know of parser, md, argparse, and template languages.
-
Rust on Nails - A full stack architecture for Rust web applications
Simple and straightforward. The only thing I'd change personally is using sailfish over markup. Seems to be the fastest templating engine?
-
md-benchmarks-rs: Rough Comparison of Markdown Parsers
As I said in my other post, runtime performance wasn't a concern for me except to catch anything egregious, like mini_markdown hanging. If people want to expand on this with different representative cases and criterion like template-benchmarks-rs, they are welcome to!
-
Question for experienced Rustaceans
That's why I use Sailfish for server-side templating in my Rust web projects. It's ridiculously fast.
-
Need help with web
As for templating, here's a benchmark that can double as a list of candidates to choose from... though, again, Rust stuff tends to be fast, so don't assume that the slowest templating engine on a Rust-vs-Rust benchmark is going to be slow.
-
Benchmarked: The state of Rust web frameworks in 2021
Yeah. You're much better off worrying about template rendering performance or database query optimization than the framework itself.
What are some alternatives?
cargo-mutants - :zombie: Inject bugs and see if your tests catch them!
parse-rosetta-rs - Comparing parser APIs
ClippyCloud - Easy way to upload and share files quickly.
cargo-fuzz - Command line helpers for fuzzing
slm - Slim, Jade like template engine for node
tokio - A runtime for writing reliable asynchronous applications with Rust. Provides I/O, networking, scheduling, timers, ...
rust_http_benchmarks
rust - Empowering everyone to build reliable and efficient software.
generational_arena_bench - Some benchmarks for generational arenas in rust
alacritty - A cross-platform, OpenGL terminal emulator.
go-htmx - Sample application that uses go and htmx