I rewrote the entire write buffer, and journal backpressure system to be a more robust queue + messaging system. Also, now no more threads are started and stopped in the background on the fly. There is a single thread worker pool now (adjustable, at least 1), and that's it.
13.11.2025 18:43 — 👍 5 🔁 0 💬 0 📌 0
crates.io: Rust Package Registry
v3 pre.6 is out - probably the penultimate prerelease before going into release candidate(s). At this point, all major architectural reworks are done, and just some APIs need some changes. Followed by a final cleanup and stabilization phase.
crates.io/crates/fjall...
13.11.2025 18:42 — 👍 11 🔁 2 💬 1 📌 1
I didn't know what I was in for
13.11.2025 14:01 — 👍 1 🔁 0 💬 0 📌 0
And because less data is written to disk, it frees up availabe IOPS and increases SSD endurance.
08.11.2025 14:59 — 👍 4 🔁 0 💬 0 📌 0
With key-value separation, blobs are written at least twice (journal + blob file). So if a blob is compressible (let's say by 40%), we will still incur a write amp of 1.6x.
Journal compression uses more CPU, but because less data is transferred to OS and disk, it can actually be faster.
08.11.2025 14:59 — 👍 4 🔁 0 💬 1 📌 0
Yesterday or so I ran a benchmark over night, and v3 scales much better for extremely large (100+ GB) databases
28.10.2025 22:19 — 👍 2 🔁 0 💬 0 📌 0
crates.io: Rust Package Registry
v3 pre-release 2 is out!
Still not file format -or API stable, but most importantly this release marks lsm-tree being *feature complete*.
crates.io/crates/fjall...
28.10.2025 22:15 — 👍 5 🔁 1 💬 1 📌 0
Well, it was a faulty RAM stick everybody
26.10.2025 12:24 — 👍 6 🔁 1 💬 0 📌 0
Thanks 😭
26.10.2025 12:10 — 👍 3 🔁 0 💬 1 📌 0
So I have now tried btrfs, xfs, ext4 on two diff. SSDs, updating to Ubuntu 24; and I'm still getting corruptions... at this point I don't really know what to do.
This is not code specific (RocksDB is also affected), yet I don't understand how my OS and all apps just seem to continue to work fine...
25.10.2025 16:22 — 👍 5 🔁 2 💬 1 📌 0
Without having numbers (right now), LMDB will probably read absurdly fast, while not so much space- or write efficient.
Most, if not all data, fits into RAM here. Would be interesting to benchmark 100s of GBs.
But I found redb to be slower (sometimes much slower) than LMDB, pretty much always.
11.10.2025 14:22 — 👍 2 🔁 1 💬 1 📌 0
Synchronous writes (fsync) I might add
09.10.2025 17:22 — 👍 1 🔁 0 💬 0 📌 0
constellation runs on a bare metal server with 4 dedicated CPU cores, 16GiB memory, 1TiB fast NVMe SSD attached, and 500mbit unmetered network connection.
08.10.2025 13:46 — 👍 45 🔁 3 💬 2 📌 0
**slightly slower in reading
05.10.2025 22:44 — 👍 2 🔁 0 💬 0 📌 0
*bench tool
05.10.2025 22:35 — 👍 1 🔁 0 💬 0 📌 0
sled (bloodstone) is not in the bench too rn, because you can't compile it next to sled w/ compression; plus it's super unstable - in general I found it to be faster in writing, smaller on disk, but similar or slightly slower in writing than sled 0.x...
05.10.2025 22:34 — 👍 2 🔁 0 💬 2 📌 0
Hopefully I will have results in 6 hours 👀
02.10.2025 17:44 — 👍 3 🔁 0 💬 1 📌 0
Noo 🥲
I wanted to expand it to a 1-hour run but it crashed because of a bug in the workload (I think), in the middle of the night.
02.10.2025 17:41 — 👍 2 🔁 0 💬 1 📌 0
Fun coloured bars and lines
02.10.2025 17:09 — 👍 8 🔁 4 💬 3 📌 0
Sponsor @fjall-rs on GitHub Sponsors
Support fjall-rs's open source work
If you sponsor NOW (github.com/sponsors/fja...), you can get an exclusive preview of version 3!!
jk I pushed the first pre-release to crates.io - it's unstable though! Breakages guaranteed, and some APIs are missing!
bye
26.09.2025 19:28 — 👍 8 🔁 6 💬 0 📌 1
Sponsor @fjall-rs on GitHub Sponsors
Support fjall-rs's open source work
If you sponsor NOW (github.com/sponsors/fja...), you can get an exclusive preview of version 3!!
jk I pushed the first pre-release to crates.io - it's unstable though! Breakages guaranteed, and some APIs are missing!
bye
26.09.2025 19:28 — 👍 8 🔁 6 💬 0 📌 1
Looks like the default fillfactor is 100%, which should be good for disk space. So it's probably dead row overhead and lack of page compression (?) plus maybe secondary indexes.
26.09.2025 15:10 — 👍 1 🔁 0 💬 1 📌 0
But yeah, it feels like things are slotting into place.
I have more than 50 git stashes and branches floating around... it's been a bit messy, but getting there.
25.09.2025 01:26 — 👍 1 🔁 0 💬 0 📌 0
I think I was lucky to fall into the pit of success because I think I made more progress the last two days than the last two months combined...
V3 pre-release(s) very soon... 👀
25.09.2025 01:24 — 👍 2 🔁 0 💬 1 📌 0
Add to that, sweeping API changes for better ergonomics that easily touch over a hundred files - Rust's doctests are a godsend here, I would have gone insane already without them
23.09.2025 01:51 — 👍 2 🔁 0 💬 1 📌 0
ngl v3 is a bit more involved than I originally planned or anticipated; I don't want breaking changes for a while, so it becomes this chase of making sure everything is really future-proof
23.09.2025 01:49 — 👍 3 🔁 0 💬 1 📌 0
Independent hacker, currently working with @dig.bsky.social and @b5.bsky.social on iroh
The Rust Foundation is an independent nonprofit organization dedicated to stewarding the Rust programming language and its global community. rustfoundation.org
A programming language empowering everyone to build reliable and efficient software.
Website: https://rust-lang.org/
Blog: https://blog.rust-lang.org/
Mastodon: https://social.rust-lang.org/@rust
Open-source APIs to kick-start your next app on ATProto.
Community-supported infrastructure ready for production.
relay.fire.hose.cam
constellation.microcosm.blue
slingshot.microcosm.blue
more:
https://microcosm.blue
https://tangled.org/@microcosm.blue
Cataloguing the Rust community's awesomeness. #rustlang
Software agency in NL. Web, security and embedded. Rust specialists.
Organizer of rustweek.org and host of the Rust All Hands.
Non-profit that strives to promote the Rust programming language and support Rust's maintainers.
Open infrastructure software in the public interest. trifectatech.org
Maintainers of protocols and libraries for time synchronization, data compression, and the smart grid: ntpd-rs, statime, openleader-rs, sudo-rs, zlib-rs and teach-rs.
hi, I'm amos! 🍃 they/them 🫐 open-source witch & maker of snappy videos and articles at @bearcove.eu ✨ be kind, be curious
articles: https://fasterthanli.me
videos: https://youtube.com/@fasterthanlime
podcast: https://sdr-podcast.com
Norwegian Institute for Nature Research @ninanatureresearch.bsky.social • researcher • wildlife + conservation genetics • bears + carnivores • genetic biodiversity + Ne monitoring • Trondheim 🇳🇴 • photographer • pronouns: he/him
Exploring technology from first principles. Building SQLSync, real-time collaborative SQLite in the browser.
https://sqlsync.dev
Mastodon: @f0a@discuss.systems
X: @carlsverre
Simple and performant reactivity for building user interfaces. Discord: http://discord.gg/solidjs
Co-founder and Tech Lead at @meilisearch.com. You can find my blog on https://blog.kerollmops.com. I love #rustlang.
art and transistors, they/them plant-mom building community infra
🌌 constellation.microcosm.blue
🚒 relay.fire.hose.cam jetstream.fire.hose.cam
🛸 UFOs.microcosm.blue
🎇 spacedust.microcosm.blue
💥 notifications.microcosm.blue
🛰️ slingshot.microcosm.blue
Creators of the world's most powerful suite of Git tools including GitKraken Desktop, GitKraken CLI, Git Integration for Jira, & GitLens.
https://linktr.ee/gitkraken
Full time CEO & YouTuber. Also an investor and developer. More info at t3.gg
TypeScript is JavaScript with types and type-checking.
Compiles down to JavaScript, runs where JavaScript runs.
I make your peer to peer transfer go brrrrr
I'm iroh.computer from the folks at n0.computer
The Cure : founder & writer & singer & guitarist & : shake me up