Skip to main content

Comparative Speed of WURFL and Device Atlas

By John Keith

Published on April 24th, 2009


This has probably been done to death elsewhere, but since I’ve been playing around with WURFL and Device Atlas for mobile device detection, I thought I’d publish some comparative performance numbers.

As part of our mobile browser concurrency test we needed to identify test results for mobile vs. non-mobile devices (we get a lot of traditional browsers using our “mobile” concurrency test!).  Because we did this as a post-processing step, we had a fair number of unique user agents – 1,572 – to classify.  We decided to use WURFL to identify mobile devices, but then also decided to perform that same classification via Device Atlas to see if we got similar results (more on that in a later post).  Not content to stop there, we decided to try both the old and new versions of WURFL, Device Atlas, plus a handy PHP mobile detection script

Here are the results for processing 1,572 unique user agents:

Method Time (seconds) Mobile Found Non-Mobile Found
WURFL Old API 1082 711 861
WURFL New API 20.8 1090 482
Device Atlas 1.2 527 1045
Mobile Device Detect 1.3 684 888

As you can see, performance and result quality vary significantly between the different methods. Well, it’s tough to see the result quality here, but the difference between various results says that correctness is an issue. The speed differences are tremendous though. 1,080 seconds is a long time to wait for results; 1.2 seconds on the other hand is quite pleasurable. Now in all fairness, we didn’t do much to optimize the server performance, so it’s possible that WURFL will benefit from an in-memory caching strategy. Perhaps we’ll see.

In my next post I’ll talk about how the results differ and the implications for relying on mobile device detection in your server code.