Race Condition vs. Data Race (2011)
It’s terribly punny/dorky of me, but reading your post it just occurred to me one could start a blog called “Race Condition” about being a person of color and being a computer scientist.
Topics /
The most popular blog posts about systems & performance on Hacker News. 498 posts.
It’s terribly punny/dorky of me, but reading your post it just occurred to me one could start a blog called “Race Condition” about being a person of color and being a computer scientist.
Regarding the example #5, I must be confused about the definition of a sequence point because the resulting assembly output seems to be non-ANSI C:
This is one of these things that look very obvious to me, to the point where it seems not worth discussing. However, I've heard the idea that "hardware magically makes things cheap" from several PhDs over the years. So apparently, if you aren't into hardware, it's not obvious at all.
It took six whole seconds to merge 15,000 arrays with an average size of 5 elements with .concat. What the hell is the Javascript's .concat method doing under the hood?
We launched the first generation (A1) of Arm-based, Graviton-powered EC2 instances at re:Invent 2018. Since that launch, thousands of our customers have used them to run many different types of scale-out workloads including containerized microservices, web servers, and data/log processing. The Operating System Vendors…
This is week "1111111111" in the GPS system. Tomorrow morning it will roll over to week "0000000000". How well will various systems handle this change? Not well, judging by what we've seen so far!
[Discuss this article and read other’s comments on the subject on this thread on Hacker News.] The three fundamental building blocks of computers, CPU, I/O and RAM can come under pressure due to co…
The libsodium cryptographic library added support for WebAssembly back in 2017.
This is a post about performance. Most of the time when worrying about the performance of a piece of code the overwhelming advice should be (with apologies to Brendan Gregg) don’t worry about it, yet. However there is one area where I counsel developers to think about the performance implications of a design, and that…
Today, we’re excited to report the availability of our ARM64-native build of Firefox for Snapdragon-powered Windows 10 Always Connected PCs in our beta release channel, a channel aimed at developers or early tech adopters to test upcoming features before they’re released to consumers.
Note: I also posted a separate review of some A2 'Application Performance' class cards, see this post: A2-class microSD cards offer no better performance for the Raspberry Pi. As a part-time tinkerer and full-time developer, I have been fascinated by single board computers (SBCs) since the first Raspberry Pi was…
Synchronizing threads at a lower level.
Posted by Mark Brand, Exploit Technique Archaeologist.IntroductionAfter discovering a collection ...
This is one post in a series about programming models and languages for distributed computing that I’m writing as part of my history of distributed programming techniques.Relevant ReadingTrill: A h...
Your Linux Toolbox: a box set of my free zines
The urge to replace the mainframe has reinvented the mainframe and its problems.
I recently decided to learn more about Rust, and wrote a high performance RaptorQ (RFC6330) library. RaptorQ is a fountain code, and the core of the algorithm is a lot of matrix math over GF(256) – which translates into lots of XORs and reads from lookup tables. After getting the initial implementation working, I set…
Designing far memory data structures: think outside the box Aguilera et al., HotOS’19 Last time out we looked at some of the trade-offs between RInKs and LInKs, and the advantages of local in…
Ever since the demise of Google+, many developers have expressed a desire to have a service that would provide a way to create and manage...
Suppose you’re a savvy C++ developer who knows all about data-oriented design and the importance of optimizing for cache locality if you want a prayer of running fast on modern hardware. Now suppose you want to go beyond basics—”just use std::vector ” is a good starting point, but you want more!
Learn to use AV1 to make videos on your website smaller and better quality. CLI instructions and cross-browser tricks.
Here’s a fun bit of trivia: malloc on Linux never fails [due to the obvious cause]. In this post, we’ll show that this indeed is the case, and explore why…