Performance Zone is brought to you in partnership with:
  • submit to reddit
Ariya Hidayat09/12/14
346 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
3050 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.

Peter Lawrey09/12/14
3050 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
3702 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
5259 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
2542 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
1846 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
1494 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
3333 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
2936 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
7735 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
386 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
3335 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
7263 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
3234 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
6156 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
6911 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
3025 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
6044 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
5161 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.

Peter Verhas08/15/14
2855 views
1 replies

Do Not Hit SysAdmins With NPE!

My opinion is that having a null pointer exception and getting it into the log without caching, handling and re-throwing it in another exception is not inherently bad

Mehdi Daoudi08/15/14
5615 views
1 replies

The Irony of Google's HTTPS Mandate

With last week’s announcement that Google will start rewarding those sites with HTTPS security configurations with better search result rankings, many companies will now be faced with a difficult decision.

Mehdi Daoudi08/15/14
5615 views
1 replies

The Irony of Google's HTTPS Mandate

With last week’s announcement that Google will start rewarding those sites with HTTPS security configurations with better search result rankings, many companies will now be faced with a difficult decision.

Bozhidar Bozhanov08/13/14
4242 views
1 replies

Generating equals(..), hashCode() and toString()

You most probably need to override hashCode(), equals(..) and toString() – I won’t go into details when and why, but you need that

Dustin Marx08/13/14
1428 views
0 replies

Book Review: Java EE 7 Performance Tuning and Optimization

Packt Publishing recently published 's Osama Oransa's Java EE 7 Performance Tuning and Optimization. This post is my review of this book of twelve chapters and approximately 430 pages of substantive content.