Our great sponsors
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
The app was a C# frontend (https://github.com/kg/HeapProfiler) that drove windows OS services to take heap snapshots and capture stack traces, so I ended up writing a custom key/value store in C# to avoid having to do cross-language interop, marshaling, etc (the cost of sending blobs to SQLite and running queries was adding up.). It's hard to beat the best-in-class optimized databases on their own turf but if you can just grab a spot to dump your data into, you end up being a lot faster.
By the end it ran fast enough that it was able to saturate the kernel's paging infrastructure and make my mouse cursor stutter, and I was able to take 1-2 snapshots per second of a full running Firefox process with real webpages in it, so it was satisfactory. SQLite couldn't process the amount of data I was pumping in at that rate (but it still performed pretty well - maybe a few snapshots per minute)
Using cluster and worker threads. The code is here, but completely undocumented, as I’ve been side tracked by a few other things[0]. I’m currently looking into porting that project to Bun, so it’s possibly dead in its current form.
I was planning on turning that into a library, but Bun nerd sniped me.
You need the “hey” tool to run the benchmarks[1] the way that I was running them.
[0] https://github.com/chrisdavies/sql3
[1] https://github.com/rakyll/hey
Using cluster and worker threads. The code is here, but completely undocumented, as I’ve been side tracked by a few other things[0]. I’m currently looking into porting that project to Bun, so it’s possibly dead in its current form.
I was planning on turning that into a library, but Bun nerd sniped me.
You need the “hey” tool to run the benchmarks[1] the way that I was running them.
[0] https://github.com/chrisdavies/sql3
[1] https://github.com/rakyll/hey
Related posts
- AWS SnapStart - Part 19 Measuring cold starts and deployment time with Java 17 using different Lambda memory settings
- Building Scalable GraphQL Microservices With Node.js and Docker: A Comprehensive Guide
- Building Llama as a Service (LaaS)
- Data API for Amazon Aurora Serverless v2 with AWS SDK for Java - Part 5 Basic cold and warm starts measurements
- Choosing a Name for Your Computer