or specifically, the keyhole tile servers, as seen by a squid developer.
Tag: performance
Memory Details
As CPU cores become both faster and more numerous, the limiting factor for most programs is now, and will be for some time, memory access. Hardware designers have come up with ever more sophisticated memory handling and acceleration techniques–such as CPU caches–but these cannot work optimally without some help from the programmer. Unfortunately, neither the structure nor the cost of using the memory subsystem of a computer or the caches on CPUs is well understood by most programmers. This paper explains the structure of memory subsystems in use on modern commodity hardware, illustrating why CPU caches were developed, how they work, and what programs should do to achieve optimal performance by utilizing them
by glibc maintainer ulrich drepper. incredibly detailed, a hefty 100+ pages.
c1000k
Part 1 and Part 2 in this series showed how to build a comet application using mochiweb, and how to route messages to connected users. We managed to squeeze application memory down to 8KB per connection. We did ye olde c10k test, and observed what happened with 10,000 connected users. We made graphs. It was fun, but now it’s time to make good on the claims made in the title, and turn it up to 1m connections.
the next meaningful benchmark might be to serve all internet users in the world from one machine. c1000m?
Against PCRE
This is a tale of 2 approaches to regular expression matching. 1 of them is in widespread use in the standard interpreters for many languages, including Perl. The other is used only in a few places, notably most implementations of awk and grep. The 2 approaches have wildly different performance characteristics:

death to PCRE
Dictionary Compression
40% data reduction better than Gzip alone on Google search
Whole program optimizer
a scalable static whole program optimizer
AJAX Libraries API
we finally do what AOL has been doing for a long time: edge cache common libraries. plus a little bit of convenience wrappers.
Lazy Load Google Maps
ha. we should hire chregu 🙂
cnn.com Speed Report
haha they suck. 278 HTTP requests / 680KB just for their home page
Async Page Loads
The latest WebKit nightlies contain some new optimizations to reduce the impact of network latency. When script loading halts the main parser, we start up a side parser that goes through the rest of the HTML source to find more resources to load. We also prioritize resources so that scripts and stylesheets load before images. The overall effect is that we are now able to load more resources in parallel with scripts, including other scripts.