mirror of
https://github.com/neondatabase/neon.git
synced 2026-01-10 15:02:56 +00:00
## Problem Running some memory profiling with high concurrent request rate shows seemingly some memory fragmentation. ## Summary of changes Eventually, we will want to separate global memory (caches) from local memory (per connection handshake and per passthrough). Using a string interner for project info cache helps reduce some of the fragmentation of the global cache by having a single heap dedicated to project strings, and not scattering them throughout all a requests. At the same time, the interned key is 4 bytes vs the 24 bytes that `SmolStr` offers. Important: we should only store verified strings in the interner because there's no way to remove them afterwards. Good for caching responses from console.
97 lines
2.6 KiB
TOML
97 lines
2.6 KiB
TOML
[package]
|
|
name = "proxy"
|
|
version = "0.1.0"
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
|
|
[features]
|
|
default = []
|
|
testing = []
|
|
|
|
[dependencies]
|
|
anyhow.workspace = true
|
|
async-trait.workspace = true
|
|
base64.workspace = true
|
|
bstr.workspace = true
|
|
bytes = { workspace = true, features = ["serde"] }
|
|
camino.workspace = true
|
|
chrono.workspace = true
|
|
clap.workspace = true
|
|
consumption_metrics.workspace = true
|
|
dashmap.workspace = true
|
|
futures.workspace = true
|
|
git-version.workspace = true
|
|
hashbrown.workspace = true
|
|
hashlink.workspace = true
|
|
hex.workspace = true
|
|
hmac.workspace = true
|
|
hostname.workspace = true
|
|
humantime.workspace = true
|
|
hyper-tungstenite.workspace = true
|
|
hyper.workspace = true
|
|
ipnet.workspace = true
|
|
itertools.workspace = true
|
|
lasso = { workspace = true, features = ["multi-threaded"] }
|
|
md5.workspace = true
|
|
metrics.workspace = true
|
|
once_cell.workspace = true
|
|
opentelemetry.workspace = true
|
|
parking_lot.workspace = true
|
|
parquet.workspace = true
|
|
parquet_derive.workspace = true
|
|
pbkdf2 = { workspace = true, features = ["simple", "std"] }
|
|
pin-project-lite.workspace = true
|
|
postgres_backend.workspace = true
|
|
pq_proto.workspace = true
|
|
prometheus.workspace = true
|
|
rand.workspace = true
|
|
regex.workspace = true
|
|
remote_storage = { version = "0.1", path = "../libs/remote_storage/" }
|
|
reqwest = { workspace = true, features = ["json"] }
|
|
reqwest-middleware.workspace = true
|
|
reqwest-retry.workspace = true
|
|
reqwest-tracing.workspace = true
|
|
routerify.workspace = true
|
|
rustc-hash.workspace = true
|
|
rustls-pemfile.workspace = true
|
|
rustls.workspace = true
|
|
scopeguard.workspace = true
|
|
serde.workspace = true
|
|
serde_json.workspace = true
|
|
sha2.workspace = true
|
|
socket2.workspace = true
|
|
sync_wrapper.workspace = true
|
|
task-local-extensions.workspace = true
|
|
thiserror.workspace = true
|
|
tikv-jemallocator.workspace = true
|
|
tikv-jemalloc-ctl = { workspace = true, features = ["use_std"] }
|
|
tls-listener.workspace = true
|
|
tokio-postgres.workspace = true
|
|
tokio-rustls.workspace = true
|
|
tokio-util.workspace = true
|
|
tokio = { workspace = true, features = ["signal"] }
|
|
tracing-opentelemetry.workspace = true
|
|
tracing-subscriber.workspace = true
|
|
tracing-utils.workspace = true
|
|
tracing.workspace = true
|
|
url.workspace = true
|
|
utils.workspace = true
|
|
uuid.workspace = true
|
|
webpki-roots.workspace = true
|
|
x509-parser.workspace = true
|
|
native-tls.workspace = true
|
|
postgres-native-tls.workspace = true
|
|
postgres-protocol.workspace = true
|
|
redis.workspace = true
|
|
smol_str.workspace = true
|
|
|
|
workspace_hack.workspace = true
|
|
|
|
[dev-dependencies]
|
|
camino-tempfile.workspace = true
|
|
rcgen.workspace = true
|
|
rstest.workspace = true
|
|
tokio-postgres-rustls.workspace = true
|
|
walkdir.workspace = true
|
|
rand_distr = "0.4"
|