From 671266456066aca49e577b871281191d84d01e2e Mon Sep 17 00:00:00 2001 From: Sam Scott Date: Sun, 7 Apr 2024 13:45:39 -0500 Subject: [PATCH] Update README with more info on why (not) to use this --- README.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 5b8917b..f70b28a 100644 --- a/README.md +++ b/README.md @@ -13,9 +13,11 @@ querystrings. This crate is designed to extend [`serde_urlencoded`][urlencoded] when using nested parameters, similar to those used by [qs][qs] for Node, and commonly used by Ruby on Rails via [Rack][Rack]. -The core of the library was inspired by -[`serde_urlencoded`][urlencoded], which should be preferred -over this crate whenever non-nested query parameters are sufficient. It is built +The core of the library was inspired by [`serde_urlencoded`][urlencoded]. +In order to support abitrarily nested structs encoded in arbitrary orders, we +perform two passes over the input string. This likely adds a non-trivial amount +of memory and compute. Due to this `serde_urlencoded` should be preferred +over this crate whenever non-nested query parameters are sufficient. The crate is built upon [Serde], a high performance generic serialization framework and [rust-url], a URL parser for Rust.