Readable “Exception” Handling in RustSoftware and the computing machines that run it have been part of our lives for decades. With each passing year, our expectations from…Feb 8Feb 8
Memory Management in RustMemory in computing systems is a finite resource, and engineers must manage it effectively to build robust and sustainable systems…Jan 31Jan 31
Virtual MemoryThe memory requirements of modern programs are growing rapidly. However, meeting these demands solely by adding more physical memory is not…Nov 21, 2024Nov 21, 2024
Increasing Cache Performance with PrefetchingCaching is one of the most essential techniques for achieving high performance in modern computers. It enables faster access to required…Nov 17, 2024Nov 17, 2024
Memory Hierarchy and CachingAs programs and their outputs demand increasingly more memory, simply building larger memory units often leads to performance degradation…Nov 14, 2024Nov 14, 2024
Building a Memory SystemIn modern computers, memory remains one of the primary bottlenecks to achieving optimal performance. While DRAMs have become significantly…Nov 11, 2024Nov 11, 2024
A Journey From Java 8 to 21Over the past few months, my company completed a migration from Java 8 to Java 21. Throughout this process, I had the opportunity to…Oct 19, 2024Oct 19, 2024
Vector ProcessorsA vector processor, is a type of CPU designed to perform operations on entire vectors of data in a single instruction, rather than on…Oct 3, 2024Oct 3, 2024
Branch Prediction AlgorithmsBranch prediction is one of the most important techniques for improving performance in multi-cycle pipelined machines. It allows us to…Sep 22, 2024Sep 22, 2024
Out of Order Execution with Precise ExceptionsThe idea behind out-of-order execution is to keep the processor busy even when incoming instructions need to stall. This significantly…Sep 3, 20241Sep 3, 20241