GeistHaus
log in · sign up

Latency Numbers Every Programmer Should Know

gist.github.com

Latency Numbers Every Programmer Should Know. GitHub Gist: instantly share code, notes, and snippets.

37 pages link to this URL
Highlights from Git 2.36

Another new release of Git is here! Take a look at some of our highlights on what's new in Git 2.36.

1 inbound link article en GitOpen Source Git
Simplicity

Some thoughts on writing simple code and other random ramblings.

0 inbound links website en
Reactive Database Access – Part 1 – Why “Async”

Notice that the examples in this article may be outdated, as Typesafe’s Activator works differently now. The blog post will not be maintained to provide up-to-date Activator examples. We̵…

1 inbound link article en AsyncAsynchronous programmingCallbacksEvent loopEvent queueFuturesLatencyManuel BernhardtPlay FrameworkReactiveReactive Database AccessReactive ManifestoReactive ProgrammingsqlThreads
CGO Performance In Go 1.21

Tl;Dr Cgo calls take about 40ns, about the same time encoding/json takes to parse a single digit integer. On my 20 core machine Cgo call performance scales with core count up to about 16 cores, after which some known contention issues slow things down. Disclaimer While alot of this article argues that “Cgo performance is good actually”, please don’t take that to mean “Cgo is good actually”. I’ve maintained production applications that use Cgo and non-trivial bindings to lua.

3 inbound links article en
Hartley Brody

Hartley writes about full stack software engineering and AI-driven software development.

On zram swap and zswap

I recently converted all my machines from zram swap to zswap. In this post I go over the differences between the two and why zswap is almost certainly better for any general use-case.

0 inbound links article en CC BY-SA 4.0
Myths Programmers Believe about CPU Caches

As a computer engineer who has spent half a decade working with caches at Intel and Sun, I’ve learnt a thing or two about cache-coherency. This was one of the hardest concepts to learn back in coll…

3 inbound links article en Uncategorized
Parsing Performance Improvement with Tapes and Spatial Locality

2020-08-12: This article described a performant method to parse data formats and how to aggregate serde fields with the input buffered. While the serde demonstration is still valid, I opted to create a derive macro that will aggregate fields that isn’t susceptible to edge cases. There’s a format that I need to parse in Rust. It’s analogous to JSON but with a few twists: { "core": "core1", "nums": [1, 2, 3, 4, 5], "core": "core2" } The core field appears multiple times and not sequentially The documents can be largish (100MB) The document should be able to be deserialized by serde into something like struct MyDocument { core: Vec<String>, nums: Vec<u8>, } Unfortunately we have to choose one or the other:

0 inbound links article en
Memory Cached Tables for building faster web applications

Most web apps have a few small tables which don’t change a lot but are read a lot from, tables like settings or plans or products (some apps have less than 1000 products). You can do a quick size chec

0 inbound links article en ElixirRubyMemory Cached TablesSpeedPerformancePythonWeb appsFastLookup tables
One step closer: exploiting locality in Akka Cluster based systems

When it comes to the latency of processing a request in a distributed system, everyone knows (or should know) that doing things over the network is the most expensive thing you can do (alongside with disk reads): The round trip time in a datacenter is about 5000 times longer than a main memory reference Modern architectures have recognized this and will favor keeping data in memory, avoiding the need to go to disk or to the database, when consistency requirements allow for it. With Akka Cluster Sharding combined with Akka Persistence, it is possible to keep millions of durable entities in memory, reducing latency to a large degree.

0 inbound links article en ITFeatured distributed systemslow latencyperformanceakkarustAkkaCluster
Persister les conteneurs

Les conteneurs permettent d’isoler les ressources utilisées par des services, et avec un peu de discipline, offrent la promesse d’utiliser au mieux un groupe de machines. Mais comment assurer de la persistence dans cet environnement mobile?

0 inbound links fr docker conteneur
Node.js Guide for Frontend Developers

The blog of Seva Zaikov

0 inbound links en javascriptnode.jsnodejsnodejs guidetutorialnodejs guide for frontend developersnodejs introductionnode.js explanationnode.js guide for people who know javascriptstreamsevent loopcommonjs tutorialevent emitterseva zaikovbloomcaES2015ES6async/awaitmodern javascript
Understandnig Atomics and Memory Ordering

Atomics and Memory Ordering always feel like an unapproachable topic. In the sea of poor explanations, I wish to add another by describing how I reason about all of this mess. This is only my understanding so if you need a better/formal explanation, I recommend reading through the memory model for your given programming language. In this case, it would be the C11 Memory Model described at cppreference.com.

0 inbound links article en
In-Process Analytical Data Management with DuckDB

DuckDB is an open-source OLAP database for analytical data management that operates as an in-process database, avoiding data transfer overhead. Leveraging vectorized query processing and Morsel-Driven parallelism, the database optimizes performances and multi-core utilization for analytical data processing.

0 inbound links website en analytical data management duckdbArchitecture & DesignAIML & Data EngineeringOLAPBIOpen SourceIn-Memory DatabasesEnterprise ArchitectureDatabaseArchitectureSQLite
A new stackalloc operator for reference types with CoreCLR and Roslyn | xoofx

Home Blog Projects About A new stackalloc operator for reference types with CoreCLR and Roslyn October 8, 2015 C#, Roslyn, CoreCLR, .Net edit Source code is now available on github Udpdated 9 Oct 2015: Added a section about the this and transient safe problem Udpdated 10 Oct 2015: Added a section about escape analysis In the sequel of my previous post adding...

2 inbound links article en C#RoslynCoreCLR.Net CC BY 2.5