Performance Zone is brought to you in partnership with:
  • submit to reddit
Nikita Salnikov...09/20/14
2278 views
0 replies

Garbage Collection: Increasing the Throughput

The inspiration for this post came after stumbling upon “Pig in the Python” definition in the memory management glossary.

Adiel Isaacs09/19/14
1123 views
0 replies

Java Scheduling OR Quartz

Comparing apples to apples I found simple Java scheduling to be much more scalable, efficient, and simpler than the industry standard Quartz scheduling.

Jim Hirschauer09/19/14
1533 views
0 replies

Top 5 Mobile APM Myths: Myths 1 & 2

There is a lot of confusion in the market today. So in this blog post, I’d like to dispel some key myths around mobile apps. And how, with the right mAPM tool, you can nail your mobile app experience — both interactivity-wise and performance-wise — and thereby win the market.

Josh Begleiter09/18/14
2735 views
1 replies

Why I'm Afraid of Systemd

Over the last two months or so it’s become apparent that systemd is taking over the Linux world. Many have expressed their reservations about systemd (including Linus Torvalds himself). Is systemd a reasonable alternative to sysvinit; are there favorable alternatives to systemd?

Mitch Pronschinske09/17/14
10561 views
7 replies

The Greatest Programmers Who Ever Lived

I've seen a few of these types of posts that rank the greatest programmers throughout history, and in many of these posts I often see a lot of comments that disagree more vehemently than your average programming post's comments.

Yuexiang Zhang09/16/14
1418 views
0 replies

Static File Best Practices on Nginx-Clojure

Nginx-Clojure make it possible to write HTTP services by Clojure/Java/Groovy on Nginx which is a free, open-source, high-performance HTTP server and reverse proxy, as well as an IMAP/POP3 proxy server. All benefits from Nginx can be used together with Nginx-Clojure. This article will discuss static file best practices on Nginx-Clojure.

Ariya Hidayat09/12/14
443 views
0 replies

CPU Feature Detection

With so many great cross-platform libraries out there, there is hardly any need to reinvent the wheel. In many cases, it is even possible to extract a portion of a sophisticated multi-platform application code to be reused in a different application. In this example, a basic CPU detection class from Chromium C++ code is built into a simple command-line tool.

Peter Lawrey09/12/14
3320 views
1 replies

An Inconvenient Latency

Vendors typically publish numbers they are happy with, and avoid telling you about a product's weaknesses. However, behind the numbers is a dirty secret if you know where to look.

Andrew Pielage09/12/14
4198 views
0 replies

Alternative Logging Frameworks for Application Servers: WebLogic

Welcome to the second in the blog series of using alternative logging frameworks with application servers. This entry will focus on WebLogic, specifically 12c, and configuring it to use Log4j and SLF4J with Logback.

Chen Harel09/11/14
12187 views
0 replies

Java 9: The Ultimate Feature List

All new features, expected features and speculations regarding the upcoming Java 9 release: the Jigsaw project, performance improvements and long awaited APIs

Chen Harel09/10/14
2812 views
0 replies

Garbage Collectors - Serial vs. Parallel vs. CMS vs. G1 (and what's new in Java 8)

Did you know there are actually 4 different Garbage Collectors in Java? In this article we'll explain the difference between them, how you can choose the right one - and what can happen if you make the wrong choice.

Peter Zaitsev09/09/14
1989 views
0 replies

Using Sysbench 0.5 for Performing MySQL Benchmarks

Sysbench lets you stress many of the fundamental components of your hardware and infrastructure, such as your disk subsystem, along with your CPUs and memory. An additional option exists that is designed to perform synthetic stress testing of MySQL, and I was surprised when I didn’t see it in the above list on version 0.5, as it used to show up as “oltp – OLTP test”. What happened to –test=oltp ??

Nikita Salnikov...09/08/14
1642 views
0 replies

Memory Leaks – Measuring Frequency and Severity

Knowing that you have roughly one in three chances of having a heap memory leak in your application, lets see whether you should be worried about the leaks at all.

Pieter van der Meer09/08/14
3527 views
0 replies

Using JAXB and JAX-WS for service with custom headers

Handling headers in SOAP messages without the hassle of SOAPHandlers

Aleksey Novik09/08/14
3185 views
0 replies

Jar Hell made Easy - Demystifying the Classpath

Some of the hardest problems a Java Developer has to face are classpath errors: ClassNotFoundException, Jar Hell, Xerces Hell, etc. Let's go through the root causes and see how a minimal tool (JHades) can help.

Pierre-yves Saumont09/05/14
7989 views
0 replies

Do it in Java 8: recursive and corecursive Fibonacci

Calculating the Fibonacci suite is one of the ubiquitous examples we can find on the Internet. Java 8 offers us new possibility to solve this problem using recursion or corecursion.

Geoffrey De Smet09/05/14
431 views
0 replies

Vehicle routing with real road distances

In the real world, vehicles in a Vehicle Routing Problem (VRP) have to follow the roads: they can’t travel in a straight line from customer to customer. Most VRP research papers and demo’s happily ignore this implementation detail...

Michael Mccandless09/04/14
3445 views
0 replies

Scoring tennis using finite-state automata

For some reason, the scoring system for tennis is very strange. Fortunately, the convoluted logic is easy to express as a finite-state automaton (FSA). If you build this Automaton in Lucene and minimize it, you'll discover that there are some wasted states! This means 20 states is overkill when deciding who won the game.

Nicolas Frankel09/01/14
7434 views
2 replies

Using exceptions when designing an API

Many knows the tradeoff of using exceptions while designing an application: On one hand, using try-catch block nicely segregates between regular code and exception handling code On the other hand, using exceptions has a definite performance cost for the JVM. This week has proved to me that exception handling in designing an API is a very serious decision.

Nikita Salnikov...09/01/14
3334 views
0 replies

Leaking GPU memory - Google Chrome Edition

Our bread and butter is still memory leak detection, which was very clearly reminded to us when tracing down a GPU memory leak in a browser.

Bill Bejeck08/27/14
6265 views
0 replies

I/O With Files That Aren't Files

Using named pipes enabled me to decrypt and search of 300+ files in roughly 1.5 hours. I also avoided the space issue by never having to land a file on disk. While named pipes aren’t needed every day, they are a useful tool to have in your arsenal.

Chen Harel08/22/14
7587 views
0 replies

Route 53 Benchmark: The New AWS Geolocation's Surprising Results

How to choose between Geolocation and Latency routing? We tested DNS configurations across multiple EC2 regions using AWS Route 53 to find out

Nikita Salnikov...08/22/14
3112 views
0 replies

Classloading and locking

This post is inspired by Pierre-Hugues Charbonneau’s article on how loading non-existing classes can severely hurt your performance. This brought back memories from a debugging session where the same problem surfaced a bit differently.

Eric Minick08/21/14
6136 views
0 replies

The argument for testing performance in production

Performance testing still has its place. It’s awesome for existing applications when looking for changes that degrade performance, and for major application launches where the scalability absolutely has to be right the first time.

Ayende Rahien08/21/14
5273 views
6 replies

Question 6 is a trap, a very useful one

In my interview questions, I give candidates a list of 6 questions. They can either solve 3 questions from 1 to 5, or they can solve question 6. Question 6 requires that you create an index for a 15 TB CSV file, and allow efficient searching on it. While questions 1 – 5 are basically gate keeper questions.