560 blogs tracked4,950 posts indexed

#performance

42 posts · 17 companies · newest first

Curated view of this subject:Topic: Performance87
3

Four months of VoidZero at Cloudflare: making the open-source JavaScript toolchain faster for all humans and agents (opens on the source site)

Since joining Cloudflare, VoidZero has delivered more than 80 releases that drastically speed up JavaScript compilation, linting, and testing. From a 10x faster React compiler to Vite+ 1.0, here’s how we are building faster tools for developers and AI agents.

birthday-weekdevelopersexcerpt only · body stays at the source
From the web
4

We just shipped support for the ugliest part of HTTP: Vary (opens on the source site)

Vary support is now available in Cache Rules on every plan. You can normalize known negotiation headers, pass exact values through to the origin when those small differences matter, or bypass cache when the variation is too unpredictable.

cachecdnexcerpt only · body stays at the source 15040 comments on HN (opens the discussion)
From the web
5

Saving another 100TB of RAM with math (and Rust) (opens on the source site)

Cloudflare's global network is immense but not limitless. As we look for small ways to trim our resource usage, we sometimes get lucky and we can cut significantly more. Here’s how we reduced one of our Pingora-based service's RAM usage with statistics.

deep-diveengineeringexcerpt only · body stays at the source 488123 comments on HN (opens the discussion)
From the web
8

Automatic Key Exchange: faster, post-quantum secure origin handshakes for 45 billion daily connections (and counting) (opens on the source site)

Automatic Key Exchange probes TLS 1.3-capable customer origins to learn which key agreement algorithms they support. We then lead with the most secure algorithm when connecting to the origin, preferring post-quantum connections wherever the origin supports it.

From the web
13

curl performance (opens on the source site)

tldr: the live version is here: https://curl.se/perf/ How fast is “fast” and is it good enough? Does it run as fast now as it did before or was there a regression? What exactly needs to be fast? How fast is it? These are questions that many projects and products face, and in curl we are … Continue reading curl performance →

curl-and-libcurlperformanceexcerpt only · body stays at the source
From the web
15

Fair by design: orchestrating background jobs in Ruby (opens on the source site)

Are you treating your users fairly? They could be stuck in the queue while a greedy user monopolizes resources. And you might not even know it! In this post, you’ll see if it’s time for you to take background job prioritization seriously, and how to make it fair for all users.

railsperformanceexcerpt only · body stays at the source
From the web
17

Linux Server Health Checks: 10 Metrics Every Sysadmin Should Monitor (opens on the source site)

Servers give you warnings before they fail. Most sysadmins performing Linux server monitoring miss them because they're watching the wrong numbers. The metrics that actually matter are one level deeper: iowait instead of CPU percentage, active swap paging instead of memory usage, inode counts instead of just disk space.Continue reading...

blogguestsexcerpt only · body stays at the source
From the web
19

double, BigDecimal, or Fixed-Point? (opens on the source site)

There is an evergreen debate in the Java world: should you always use BigDecimal for money? The short answer is no. The real answer is: it depends on your computational context: the precision you need, the rounding rules you must follow, and the performance budget you have. The problem is that this conversation is often driven by dogma rather than engineering.

javabigdecimalexcerpt only · body stays at the source
From the web
22

Why You Should Tune Code Before Your Garbage Collector (opens on the source site)

Optimising your memory allocations in Java could make far more difference than your choice of Garbage Collector and may even change which is the best garbage collector. In this post I look at a simple event to response latency benchmark, MarketDataSnapshot to NewOrderSingle at 50K/s for 30 minutes using JLBH to test Chronicle-FIX. The goal is to compare a system which is doing redundant work (in this case logging each message using SLF4J), compared with not logging (Chronicle-FIX records every message internally using Chronicle Queue) and how this changes the choice of Garbage Collector For…

benchmarksperformanceexcerpt only · body stays at the source
From the web
23

Distilling Long-Tail User Behavior into Scalable Embeddings for Job Search (opens on the source site)

Authors : Marsan Ma, Nikhil Lopes, Raj Amrit, Hong Lu, Dipankar Biswas, Trent KyonoLeadership: Iris Wang, Madhu Kurup Recommendation and ranking systems power many of the most important experiences on large internet platforms. Yet the models that run in production are rarely the largest models we can train. They are usually compact, latency-sensitive supervised models […]

big-datadata-scienceexcerpt only · body stays at the source
From the web
24

The Most Expensive Milliseconds Are Unmeasured (opens on the source site)

Expedia Group Technology — EngineeringHow a screen-level performance metric reshaped platform decisions, engineering ownership, and release disciplinePhoto by Pietro De Grandi on UnsplashFor the last few years, my responsibility has been straightforward to state but hard to execute — owning the traveler login experience across mobile platforms.Not just whether a feature works, but whether it feels responsive, predictable, and trustworthy in the moments that matter most. During login, those moments are unforgiving: if a login screen hesitates travelers don’t interpret it as ‘a slow render’,…

time-to-interactivesoftware-engineeringexcerpt only · body stays at the source
From the web
25

From React to native web with nanotags: a migration that saved 100 KB (opens on the source site)

Most marketing sites ship a SPA framework just to toggle a sidebar. Here's how we migrated an Astro site from React and Ark UI to native Web Components: 100 KB less JavaScript, no functionality lost, and a tiny library called nanotags that makes Custom Elements enjoyable to write.

performanceopen-sourceexcerpt only · body stays at the source
From the web
26

Making Our Frontend Unit Tests Much Faster with @swc/jest (opens on the source site)

We were annoyed with the slow performance of our frontend unit tests, so we made them much faster! It turned out that swapping out the test runner is an easy and efficient way to keep the migration effort low, while reaping the benefits of much faster execution times.

frontendjavascriptexcerpt only · body stays at the source
From the web
27

The Hidden Cost of Convenience: Rethinking Old ORM Patterns for Scale (opens on the source site)

Ever been here before? Stuck with a job that needs to be continually revisited because its performance gets worse with every passing day, and each attempt at improving said performance yields diminishing returns? This is the situation we found ourselves in with the portfolio balance calculation system—the code responsible for aggregating data from multiple sources... Read more

wealthfront-engineeringbackendexcerpt only · body stays at the source
From the web
28

Speed Up Your Rails App by Squashing N+1 Queries (opens on the source site)

N+1 queries are one of the most common performance killers in Rails apps, but also one of the easiest to fix. In this post, we'll see how a single line of code can reduce 1,101 database queries down to 3. N+1s occur in rails when you have associated ActiveRecord models, and iterate over one model while accessing fields on the associated records. This might be easier to explain with an example. Let's say you have the following ActiveRecord models: class Author ApplicationRecord has_many :posts end class Post ApplicationRecord belongs_to :author has_many :tags end class Tag ApplicationRecord…

activerecordperformanceexcerpt only · body stays at the source
From the web
29

A Fast Bytecode VM for Arithmetic: The Virtual Machine (opens on the source site)

In this series of posts, we write a fast bytecode compiler and a virtual machine for arithmetic in Haskell. We explore the following topics: Parsing arithmetic expressions to Abstract Syntax Trees (ASTs). Unit testing for our parser. Interpreting ASTs. Compiling ASTs to bytecode. Disassembling and decompiling bytecode. Unit testing for our compiler. Property-based testing for our compiler. Efficiently executing bytecode in a virtual machine (VM). Unit testing and property-based testing for our VM. Benchmarking our code to see how the different passes perform. All the while keeping an eye on…

interpretersvirtual-machinesexcerpt only · body stays at the source
From the web
30

A Fast Bytecode VM for Arithmetic: The Compiler (opens on the source site)

In this series of posts, we write a fast bytecode compiler and a virtual machine for arithmetic in Haskell. We explore the following topics: Parsing arithmetic expressions to Abstract Syntax Trees (ASTs). Unit testing for our parser. Interpreting ASTs. Compiling ASTs to bytecode. Disassembling and decompiling bytecode. Unit testing for our compiler. Property-based testing for our compiler. Efficiently executing bytecode in a virtual machine (VM). Unit testing and property-based testing for our VM. Benchmarking our code to see how the different passes perform. All the while keeping an eye on…

compilersvirtual-machinesexcerpt only · body stays at the source
From the web
31

Improving the prompt to the AI to get better code (opens on the source site)

In a previous article I looked at one-shoting a solution to optimise code to show the variation in different AI. Thsi is the not the best way to get what you want however. More often you need to either refine the prompt or give feedback. After one-shoting the same prompt on multiple AI, I have created a refined prompt based on the various concerns with previous results. The prompt Based on the results in a previous run Asking multiple AI to optimise the same code Suggest how to implement this more optimally using low latency techniques to minimize any objects created. ## Use - a ThreadLocal…

aiexerciseexcerpt only · body stays at the source
From the web
32

Asking multiple AI to optimise the same code (opens on the source site)

As different AIs are implemented differently, they don't all provide the same answer, nor do they consistently outperform one another. The best approach is to use multiple AI and pick the one you like best. My goal here is not to declare a winner based on one example, but instead to show the variety of answers you can get with different AI. I asked each AI to Suggest how to implement this more optimally private static String formatOffset(int millis) { String sign = millis < 0 ? "-" : "+"; int saveSecs = Math.abs(millis) / 1000; int hours = saveSecs / 3600; int mins = ((saveSecs / 60) % 60);…

aiexerciseexcerpt only · body stays at the source
From the web
33

How Blinkit Cracked Android’s Performance Puzzle with Droid Dex (opens on the source site)

How Blinkit Cracked Android's Performance Puzzle with Droid DexAdaptive real-time performance tuning — fewer ANRs, smoother UX, and smarter device-specific optimizationPicture this: Your app runs buttery-smooth on Pixel 7 Pro while throwing ANRs on a Redmi Note 4. Users on a Fold 6 have to experience the same janky transitions as those on a ₹6,000 device. Sounds familiar?Welcome to Android development in 2025, where device fragmentation is one of the biggest challenges.This is the story of how Blinkit solved Android’s most notorious problem: intelligent, real-time performance adaptation.📱…

engineeringperformanceexcerpt only · body stays at the source
From the web
34

Solving Advent of Code “Seating System” with Comonads and Stencils (opens on the source site)

In this post, we solve the Advent of Code 2020 “Seating System” challenge in Haskell using comonads and stencils. This post was originally published on abhinavsarkar.net. This post is a part of the series: Solving Advent of Code. “Handy Haversacks” in Type-level Haskell “No Space Left On Device” with Parsers, Zippers and Interpreters “Rock-Paper-Scissors” in Type-level Haskell “Aplenty” by Compiling “Seating System” with Comonads and Stencils 👈 Contents The Challenge The Cellular Automaton The Solution The Zipper The Comonad The Array The Stencil The Challenge# Here’s a quick summary of the…

haskellpuzzlesexcerpt only · body stays at the source
From the web
35

Next-Level Development: Harnessing AI with AIDE (opens on the source site)

If it’s worth doing by hand, it’s worth automating. Just because not everyone is (yet) a world-class developer; that doesn’t mean we can’t step closer to that expert-level space. In this post, I will introduce AIDE (Artifical Intelligence Development Environment), a powerful workflow that merges AI-driven code generation with a sharp focus on documentation-driven development. With AIDE, I tap into the best of artificial intelligence (AI) while respecting the real human insight needed for domain-specific logic. The result? An environment that streamlines repetitive coding, synchronises…

opinionperformanceexcerpt only · body stays at the source
From the web
36

Demystifying Java Object Sizes: Compact Headers, Compressed Oops, and Beyond (opens on the source site)

Introduction Measuring an object’s size in Java is not straightforward. The platform encourages you to consider references and abstractions rather than raw memory usage. Still, understanding how objects fit into memory can yield significant benefits, especially for high-performance, low-latency systems. Over time, the JVM has introduced optimisations like Compressed Ordinary Object Pointers (Compressed Oops) and, more recently, Compact Object Headers. Each of these can influence how large or small your objects appear. Understanding these factors helps you reason about memory usage more…

infoopinionexcerpt only · body stays at the source
From the web
37

Trivially Copyable Objects in Java (opens on the source site)

TL;DR Problem: Java’s standard serialisation can be slow due to scattered object fields and reflection-based overhead. Approach: Emulate C++-style trivially copyable objects by restricting fields to primitives, enabling bulk memory copies. Result: Near C++-like serialisation performance, dramatically reducing latency and improving throughput. Trade-offs: Requires careful design, limited flexibility, and testing for JVM compatibility. Outcome: Low-latency systems with high performance, suitable for financial data feeds, real-time analytics, and other latency-sensitive domains. Introduction For…

benchmarksopinionexcerpt only · body stays at the source
From the web
38

Efficient Distributed Unique Timestamp Identifier Generation (opens on the source site)

Distributed unique timestamp identifiers provide a powerful means of generating globally unique, human-readable 64-bit values at sub-microsecond speeds. By embedding a host identifier directly into a nanosecond-resolution timestamp, you gain a simple, chronologically sortable, and intuitive scheme for correlating events across multiple hosts. This approach offers significant benefits in latency-sensitive systems where even small delays can become expensive at scale. Introduction In a world of horizontally scaled microservices, ensuring that each event or message receives a unique identifier…

benchmarksmicroservicesexcerpt only · body stays at the source
From the web
39

The Importance of Using a Composite Metric to Measure Performance (opens on the source site)

In the past, Indeed has used a variety of metrics to evaluate our client-side performance, but we’ve tended to focus on one at a time. Traditionally, we chose a single performance metric and used it as the measuring stick for whether we were improving or degrading the user experience. This made it simple to track […]

engineeringperformanceexcerpt only · body stays at the source
From the web
40

The Performance Impact of SQL’s FILTER Clause (opens on the source site)

I’ve found an interesting question on Twitter, recently. Is there any performance impact of using FILTER in SQL (PostgreSQL, specifically), or is it just syntax sugar for a CASE expression in an aggregate function? As a quick reminder, FILTER is an awesome standard SQL extension to filter out values before aggregating them in SQL. This … Continue reading The Performance Impact of SQL’s FILTER Clause →

sqlaggregate-functionsexcerpt only · body stays at the source
From the web
42

6 Rules of thumb to build blazing fast web server applications (opens on the source site)

This post highlights 6 important rules to keep in mind when developing performant web applications: avoid premature optimization, do the minimum required work, defer non-critical tasks, leverage caching, avoid N+1 queries, and design for horizontal scaling. Following these guidelines will help you write efficient code from the start and build apps ready to handle growth.

phpsymfonyexcerpt only · body stays at the source
From the web
42 shown

Privacy choices

Reading never requires analytics. These choices last 90 days on this browser.

Essential sign-in and security storage always stays on. Read the privacy notice.