Profiling Go
Techniques and tools for profiling Go applications including pprof, benchmarks, and memory management analysis.
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 6,947 posts.
Techniques and tools for profiling Go applications including pprof, benchmarks, and memory management analysis.
There are various ways in software to handle error conditions. In C or Go, one returns error code. Other programming languages like C++ or Java prefer to throw exceptions. One benefit of using exceptions is that it keeps your code mostly clean since the error-handling code is often separate. It is debatable whether…
My previous entry has the amazingly interesting title "Blogging is hard". Gee, what a wuss, says the occasional passer-by. Gotta fix my image, fast. Think, think, think! OK, here's what I'm going to tell you: low-level programming is easy. Compared to higher-level programming, that is. I'm serious.
The price of Solid-state drives (SSDs) has dropped significantly over the last few years. It's now possible to buy a 1TB solid-state drive for less than €60. However, at such low price points, there is a catch.
My personal website and blog
As of last nightly (2015-07-23), Firefox for Linux is using Gtk+3 instead of Gtk+2.
A few years ago, I wrote a "state of things" blog post about Wayland on NetBSD . It's only natural that I should do one about X11, which is used by far more people to get a graphical environment on NetBSD.
Today, most people develop applications on operating systems such as Linux which are more than thirty years old, even though computing has changed a lot in the meantime. Since Linux was first released in 1991, the size of application state and data has grown by several orders of magnitude, many applications have moved…
A few years ago, I have blogged about my approach to sandboxing less-trusted applications that I have to or want to run on my main machine. The approach has changed since then, so it is tim...
How much overhead should we expect from enabling integer overflow checks? Using a compiler flag or built-in intrinsics, we should be able to do the check with a conditional branch that branches based on the overflow flag that add and sub set. Code that looks like
(Recap: I founded the curl project, I am still the lead developer and maintainer) When asking curl to get a URL it'll send the output to stdout by default. You can of course easily change this behavior with options or just using your shell's redirect feature, but without any option it'll spew it out to … Continue…
I recently gave a talk on the internals of multicore OCaml GC at Jane Street offices in NYC. The slides from the talk are available online . But I felt that the slides alone aren’t particularly edifying. This post is basically the slides from the talk annotated with notes.
Red Hat, Inc. (NYSE:RHT), the world's leading provider of open source solutions, today announced the general availability of Red Hat Enterprise Linux 7, the latest major release of the company's flagship platform. Red Hat Enterprise Linux 7 not only lays the foundation for the open hybrid cloud and serves enterprise…
When you have to build a web application, you are often asked to add search. The magnifying glass is something that we now add to wireframes without even knowing what we are going to search.
Hard as it may be to imagine, there was a time when Java was brand new and exciting. Long before it became the vast clunky back-end leviathan it is today, it was going to be the ubiquitous graphical platform that would be used on everything from cell phones to supercomputers: write once, run anywhere. Initially …
TLA+ is a formal specification language that you can use to verify programs. It’s different from other formal verification systems in that it’s very pragmatic. Instead of writing proofs…
TL;DR: Firefox’s built-in PDF viewer is on track to benefit from additional large reductions in memory consumption when Firefox 33 is released in mid-October.
Terrace runs sensors attackers cannot tell from real targets. We see new attack sources first, record what they do, and ship the block rules while the attack is still running.
In this piece, I disagree with Joe Armstrong and Rob Pike, basing my argument on the differences between vending machines and gift boxes (illustrated with drawings carefully prepared in Microsoft Paint).
Here’s a not-so-brief story about troubleshooting a problem that was at times vexing, impossible, incredibly challenging, frustrating, and all around just a terrible time with the bare-metal STM32G4 firmware for the moteus brushless motor controller. Background First, some things for context: moteus has a variety of…
(Updated Dec 11, 2018)
It has been eighteen years of libcurl ABI stability.
Freshly whipped WebGPU, with ice cream
Adventures with dry ice and RP2350 - how fast can it go?
This blog post summarises a new garbage collection algorithm called Mark-Scavenge, which highlights how using reachability as a proxy for liveness in moving GCs leads to unnecessary data movement and how we can address this. This work is from the latest paper within the research collaboration between Oracle and…
This is the first in a series of articles analysing the performance improvements in the Go 1.1 release.