Mercurial > hg
view rust/chg/Cargo.toml @ 50400:95acba2c29f6
encoding: avoid quadratic time complexity when json-encoding non-UTF8 strings
Apparently the code uses "+=" with a bytes object, which is linear-time, so the
whole encoding is quadratic-time. This patch makes us use a bytearray object,
instead, which has a(n amortized-)constant-time append operation.
The encoding is still not particularly fast, but at least a 10MB file
takes tens of seconds, not many hours to encode.
author | Arseniy Alekseyev <aalekseyev@janestreet.com> |
---|---|
date | Mon, 06 Mar 2023 11:27:57 +0000 |
parents | 9fc9526e283a |
children |
line wrap: on
line source
[package] name = "chg" version = "0.1.0" authors = ["Yuya Nishihara <yuya@tcha.org>"] description = "Client for Mercurial command server with cHg extension" license = "GPL-2.0+" edition = "2018" [dependencies] async-trait = "0.1" bytes = "0.5" futures = "0.3" libc = "0.2" log = { version = "0.4", features = ["std"] } tokio-hglib = "0.3" [dependencies.tokio] version = "0.2" features = ["rt-core", "io-util", "time", "process", "macros"] [build-dependencies] cc = "1.0"