Parsing, performance, and low-level programming.| blog.reverberate.org
Parsing, performance, and low-level programming.| blog.reverberate.org
Parsing, performance, and low-level programming.| blog.reverberate.org
Parsing, performance, and low-level programming.| blog.reverberate.org
For a while I’ve been wondering what it would be like to use arenas in Rust. In C and C++ I have been turning to arenas more and more as a fast alternative to heap allocation. If you have a bunch of objects that share a common lifetime, arenas offer cheaper allocation and much cheaper deallocation than the heap. The more I use this pattern, the more it feels downright wasteful to use heap allocation when an arena would do. I’ve been wanting to know how arenas would play with Rust’s life...| Josh Haberman
Lately I’ve been experimenting with Rust, and I want to report some of what I’ve learned about thread-safety. I am an enthusiastic dabbler in Rust: I spend most of my time in C and C++, but I’m always looking for an excuse to learn more about Rust’s approach to the techniques I use every day in C and C++. When studying Rust’s threading model, I came to see some correspondence between C++ and Rust terminology that I had not seen published previously. Here are my findings, which hopef...| Josh Haberman
How do you convert a UTC timestamp to Unix Time (seconds since the epoch)? "2020-04-29 04:48:15" → 1588135695 Of course the right answer is “you use a standard library function.” But what if you don’t have one available? Or what if you’re the person implementing that library? Converting the time portion is trivial. Unix Time pretends that leap seconds do not exist and makes every day exactly 86,400 seconds long. This is a fib on systems that implement UTC leap second insertion1, but...| Josh Haberman
Today I am releasing Bloaty McBloatface 1.0. Bloaty is a size profiler for binaries. It helps you peek into ELF/Mach-O binaries to see what is taking up space inside. Bloaty has gotten lots new features, bugfixes, and overall improvements since I announced it in 2016. I listed these changes briefly on the release page, but I wanted to go into a bit more detail here. Improving Data Quality Perhaps the biggest overall improvement to Bloaty is its data quality. When I first announced Bloaty, I g...| Josh Haberman
Parsing, performance, and low-level programming.| blog.reverberate.org
Parsing, performance, and low-level programming.| blog.reverberate.org