Elektrine lite

← Feed

arya dradjica

bal4e@tech.lgbt

<p>Hi! I like programming.</p><p>Severely addicted to high-performance code. Mostly involved in the low-level side of things, like memory layouts, concurrent data structures, and SIMD. Interested in OS design, programming languages, privacy/security, network protocols, and compiler architecture. Dabbling in number theory every once in a while.</p><p>Working at <span class="h-card" translate="no"><a href="https://social.nlnetlabs.nl/@nlnetlabs" class="u-url mention">@<span>nlnetlabs</span></a></span> on open-source Rust-based DNS software. Writing a Rust compiler (<a href="https://bal-e.org/speed/krabby" target="_blank" rel="nofollow noopener" translate="no"><span class="invisible">https://</span><span class="">bal-e.org/speed/krabby</span><span class="invisible"></span></a>) on the side.</

Posts

  • Post #2406467

    An update on Krabby: There&#39;s a Zulip chat now! I wrote a little status update on the blog: https://bal-e.org/speed/krabby/hi-zulip-also-licenses/. Take a look! #programming #rust #compilers #krabby

  • Post #2002391

    While poking around rust-analyzer, I noticed that it ports an important algorithm for macro expansion from rustc. While thinking about how I would implement that algorithm myself, I discovered a degenerate edge case that could OOM rustc surprisingly easily. You can read more here: https://bal-e.org/blog/2026/oops-cubic-macro/ #programming #rust

  • Post #1484998

    I&#39;m working on the hash table optimizations I will demonstrate in my talk. I&#39;ve focused on higher-level changes thus far (mostly related to memory accesses), but I started dipping my toes into some fun micro-optimizations yesterday. I tried to simplify some hot branch conditions, but the performance didn&#39;t improve as much as I expected. So I examined the generated machine code ... but perf annotate is refusing to show me the source lines corresponding to the disassembled instruction...

  • Post #1154196

    It&#39;s been one year and one week since I started my very-very-WIP Rust compiler, Krabby. While I used to blog about it relatively frequently, the last eight months slipped by somehow; but I was working on it the whole time! I wrote a little catch-up post (https://bal-e.org/speed/krabby/a-year/) highlighting the big adventures you might have missed out on; expect follow-up posts that dive into each one in detail. #programming #compilers #krabby

  • Post #1032355

    I built my own little benchmarking system in preparation for my RustWeek talk! It&#39;s inspired by Criterion, and it can measure multiple statistics (from perf) simultaneously. &amp;gt; cargo bench --bench perf -- test-data/crates.io-10k.txt alpha: warming up... alpha: measuring (307143488 iters) 17.63 ns/iter ± 0.69 52.69 real cycles/iter ± 2.38 53.14 ref cycles/iter ± 2.42 167.68 instructions/iter ± 3.36 0.38 LLC refs/iter ± 0.03 0.05 LLC misses/iter ± 0.01 26.28 branches/iter...

  • Post #739624

    🎵 race conditions 🎵 #programming

  • Post #739620

    I&#39;m a little surprised that Rust/LLVM doesn&#39;t optimize away certain atomic operations. See https://play.rust-lang.org/?version=stable&amp;amp;mode=release&amp;amp;edition=2024&amp;amp;gist=c9f0f10929e66817a7df54775eb46f52 (compile to assembly in release mode); an unused atomic load (with Relaxed or Acquire ordering) won&#39;t be elided, and an atomic swap with unused loaded value won&#39;t be downgraded to a store. I&#39;m fairly confident that the atomic loads can be elided, but I&#39;...

  • Post #739618

    I might put together a bibliography of academic papers on concurrent memory reclamation. I built my own reclaimer by looking at two existing Rust crates, and not going much further; I thought there was little academic research in the field, but it turns out there are quite a few papers! I really want to compare the performance of different implementations, but FFI would complicate things significantly. I&#39;ll probably put that bibliography (perhaps with some comments, so closer to a catalog of...