view rust/hg-cpython/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 5844cd8e81ca
children 37a079410507
line wrap: on
line source

[package]
name = "hg-cpython"
version = "0.1.0"
authors = ["Georges Racinet <gracinet@anybox.fr>"]
edition = "2021"

[lib]
name='rusthg'
crate-type = ["cdylib"]

[dependencies]
cpython = { version = "0.7.1", features = ["extension-module"] }
crossbeam-channel = "0.5.6"
hg-core = { path = "../hg-core"}
libc = "0.2.137"
log = "0.4.17"
env_logger = "0.9.3"
stable_deref_trait = "1.2.0"
vcsgraph = "0.2.0"