RSSAmplifier

Blog

๐Ÿ‘‹ Hey there! I'm Evgenii. on Evgenii Orlov

Recent content in ๐Ÿ‘‹ Hey there! I'm Evgenii. on Evgenii Orlov

eorlov.org โ†—RSS feed โ†—12 posts

Latest posts

New Perf latency profiling

Picture this scenario: you’re writing Python code that calls a library for ML inference in the middle. You notice the program runs slowly.

VLL: Rethinking Database Lock Managers for the Main Memory Era

My friend who works on high-frequency trading systems once told me a story that completely changed how I think about database internals:

Bloom Filters: Probabilistic Data Structures for Fast Set Membership Testing in Go

Working with large-scale data at Semrush, I’ve often faced the classic problem: “Is this item in my massive dataset?” When you’re dealing with billions of entries, even the most optimized database queries can become a bottleneck.

Design Patterns in Machine Learning Code: A Practical Guide with Go Examples

Design patterns aren’t just academic exercises - they’re communication tools. When you tell someone “this is a factory”, they immediately understand not just the structure, but the intent behind your code.

Measuring Context Switching and Memory Overheads for Linux Threads: A Deep Dive into NPTL Performance

When designing high-load concurrent servers, the age-old question always comes up: “How expensive are threads, really?” After years of working with concurrent systems at Semrush and various startups, I’ve heard all the claims - “context switches will kill your performance!

Basics of Futexes: Fast Userspace Mutexes in Linux - Deep Dive into Low-Level Synchronization

After years of optimizing concurrent systems at Semrush, I’ve come to appreciate the elegance of Linux’s futex mechanism. While most developers never directly interact with futexes (and that’s perfectly fine), understanding them gives you deeper insight into how higher-level synchronization primitives actually work.

Speeding Up Linux Kernel Builds with ccache: 6.8x Faster Compilation

ccache, the compiler cache, is probably one of the most underrated tools for C/C++ development. If you’re compiling the Linux kernel regularly (and honestly, who isn’t these days?

Unlocking Personalization: A Deep Dive into SVD for Recommender Systems with Golang

In today’s digital landscape, personalization is no longer a luxury โ€“ it’s an expectation. From movie streaming services suggesting your next binge-watch to e-commerce platforms highlighting products you might love, recommender systems are the invisible engines driving user engagement and satisfaction.

Stability Practices, Patterns, and Principles in Go

Ensuring the stability of services in high-scale production environments is one of the most critical aspects of building reliable software systems.

12 Essential MySQL Debugging Queries for Database Diagnostics

When working with MySQL databases, it’s crucial to have a set of tools and queries at your disposal to diagnose issues, monitor performance, and ensure everything is running smoothly.

Lsyncd: How to sync files across multiple servers

What is lsyncd? #Lsyncd watches a local directory trees event monitor interface (inotify or fsevents). It aggregates and combines events for a few seconds and then spawns one (or more) process(es) to synchronize the changes.

About

Hi, I’m Owen (Evgenii) Orlov, and I’m Head of Engineering at Semrush, based in Amsterdam, the Netherlands. I specialize in building and operating high-availability, low-latency distributed systems at scale.