HN user

KAdot

211 karma

http://artem.krylysov.com/

Posts15
Comments54
View on HN

We are interested in making OTAP pipelines safely embeddable, through strict controls on memory and through support for thread-per-core runtimes.

I'm curious about the thread-per-core runtimes, are there even any mature thread-per-core runtimes in Rust around?

The benchmark is not comparing apples to apples.

prost is the most widely used Protobuf implementation in Rust, maintained by the Tokio organization. prost generates structs and serialization/deserialization code for you.

easyproto according to GitHib Search is used only by two projects. easyproto provides primitives for serializing and deserializing Protobuf, and requires hand writing code to do both.

A fair comparison would be prost vs google.golang.org/protobuf, or easyproto vs parts of quick-protobuf.

In most cases you can make Go as fast as Rust, but from my experience writing performance-sensitive code in Go requires significantly larger time investment and overall requires deeper language expertise. Pebble (RocksDB replacement in Go by CockroachDB) is a good example of this, the codebase is littered with hand-inlined[1] functions, hand-unrolled loops and it's not[2] even using Go memory management for performance critical parts, it's using the C memory allocator and manual memory management.

[prost]: https://github.com/tokio-rs/prost [easyproto]: https://github.com/VictoriaMetrics/easyproto [google.golang.org/protobuf]: https://github.com/protocolbuffers/protobuf-go [quick-protobuf]: https://github.com/tafia/quick-protobuf [1]: https://github.com/cockroachdb/pebble/blob/c34894c46703fd823... [2]: https://github.com/cockroachdb/pebble/blob/master/docs/memor...

After discovering Chrome are eating my old Mac's battery, I turned to using Edge

What? Have they tried using Safari instead of a Chromium based browser? From my experience Safari is by far the best browser on Mac in terms of the energy efficiency.

How RocksDB Works 3 years ago

Binary searching SST file blocks is a stretch, I agree. The key-value pairs would need to have a specific shape. Enabling compression makes it completely impossible. I'll remove this from the article, thanks for the feedback!

macOS 13 Ventura introduced[1] support of running amd64 binaries with Rosetta inside of arm64 Linux VMs when using Apple Virtualization framework.

Latest Docker Desktop and Lima VM can take advantage on the new feature. It makes running amd64 containers significantly faster.

Here is a very short manual how to setup Docker with Lima VM and Rosetta https://gist.github.com/akrylysov/7c1ea3bac409da2758e525f2f8...

[1] https://developer.apple.com/documentation/virtualization/run...

It costs me $11/month. $6 for a small DO droplet instance[1] and $5 for DO spaces storage[2] which gets me 250GB of space. I use both the instance and the storage also for other purposes. E.g. I also host my personal blog and store backups there.

If you want to save a few dollars, you can get it close to $5/month if you go with cheaper S3 compatible storage from Backblaze[3] or Cloudflare[4] + the cheapest $2.5 instance from Vultr[5].

[1] https://www.digitalocean.com/pricing/droplets

[2] https://www.digitalocean.com/pricing/spaces-object-storage

[3] https://help.backblaze.com/hc/en-us/articles/360037814594-B2...

[4] https://developers.cloudflare.com/r2/platform/pricing/

[5] https://www.vultr.com/pricing

I find text very hard to read on a 27" 4K monitor with no scaling. Not sure if it has something to do with me getting older and wearing glasses.