Expert in tackling complex software challenges, with deep knowledge of TCP, MySQL and PostgreSQL kernels, and a passion for AI, history, math, and physics.
After nine months of hard work, this Postgres course is almost complete. You don't have to buy it, but if you want to truly understand Postgres internals, this is one of the most detailed courses you'll find. https://t.co/ZpRiQ6oNEr
Once you understand how Rust avoids C's pitfalls, you'll see that Rust itself is actually quite elegant. However, the Rust code most people write is so ugly that it scares many people away.
You can't get a 100,000x speedup just by improving cache locality. Such big performance gains come from many things working together, but the most important thing is choosing the right data structures for large datasets.
You can't get a 100,000x speedup just by improving cache locality. Such big performance gains come from many things working together, but the most important thing is choosing the right data structures for large datasets.
Hard to say, honestly. It really depends. The biggest speedup I've ever seen was changing the data structure from a hash table to a well-designed array-based one. Overall, not just from cache locality, that made part of the code about 100,000 times faster.
Hard to say, honestly. It really depends. The biggest speedup I've ever seen was changing the data structure from a hash table to a well-designed array-based one. Overall, not just from cache locality, that made part of the code about 100,000 times faster.
I have spent the past ten days checking my new home, trying to find as many problems as possible, and asking the workers to fix them. btw, AI is still not very helpful in solving these problems.
Based on Neon's architecture, I abandoned the LSM tree and designed a new data structure tailored to the data's characteristics. It looks simple and efficient so far, though it hasn't been implemented yet. Anyone interested?
I've traced through lsm myself, and I don't think it's the best data structure for neon. I choose more suitable data structures based on many factors, which I will share on discord (https://t.co/f8FQzBWmw1). Btw, good database design isn't something AI can do today.
Based on Neon's architecture, I abandoned the LSM tree and designed a new data structure tailored to the data's characteristics. It looks simple and efficient so far, though it hasn't been implemented yet. Anyone interested?
In performance optimization, the data structure I least want to use is a hash (only as a last resort), and the one I most want to use is an array. When a database is full of hashes, there's probably a lot of optimization opportunity hiding in there.
Using arrays well is not easy. It takes skill, and you need to really understand your data and how it's structured. That's why programming is truly an art. In the future, poorly made databases will be everywhere.
In performance optimization, the data structure I least want to use is a hash (only as a last resort), and the one I most want to use is an array. When a database is full of hashes, there's probably a lot of optimization opportunity hiding in there.
Why C? Four reasons. 1) Postgres is written in C too, and I want to reuse its WAL replay code. 2) I don't want to change my taste. I just don't like Rust, which misses a 't' 3) I don't want slow builds or big binaries. 4) I'm not smart enough for Rust.
Our product will be written in pure C (sorry, I don't trust Rust). Even if nobody ever uses it, it'll still show you what the art of optimization really looks like.
I think I've got the evidence now: in tokio's async model, Rust is far weaker than C in some critical situations. Full breakdown in the Discord group next week. Don't miss it.
Why C? Four reasons. 1) Postgres is written in C too, and I want to reuse its WAL replay code. 2) I don't want to change my taste. I just don't like Rust, which misses a 't' 3) I don't want slow builds or big binaries. 4) I'm not smart enough for Rust.