Speedup jid parsing

Bastien Orivel created

name        control ns/iter  variable ns/iter  diff ns/iter   diff %  speedup
big_jids    638              456                       -182  -28.53%   x 1.40
small_jids  92               91                          -1   -1.09%   x 1.01

Change summary

src/lib.rs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

Detailed changes

src/lib.rs 🔗

@@ -76,7 +76,7 @@ impl FromStr for Jid {
     fn from_str(s: &str) -> Result<Jid, JidParseError> {
         // TODO: very naive, may need to do it differently
         let iter = s.chars();
-        let mut buf = String::new();
+        let mut buf = String::with_capacity(s.len());
         let mut state = ParserState::Node;
         let mut node = None;
         let mut domain = None;