API / Product
Device Detection
IP Intelligence
C/C++ dd-cxx ip-cxx
.NET dd-dotnet ip-dotnet
Java dd-java ip-java
Go dd-go ip-go
Node.js dd-node
Python dd-python
PHP dd-php
Rust dd-rust ip-rust
NGINX dd-nginx ip-nginx
Varnish dd-varnish ip-varnish

How we test🔗

These tests are run using a console performance example. If language appropriate, multiple threads are used to run the tests. For technical details, see the example repositories on GitHub.

NGINX and Varnish have no console example, so their figures come from requests through NGINX or Varnish, each making one detection, with as many concurrent requests as the machine has processors, timed in the same way. They include the server's own request handling and the program making the requests, so look at their trend rather than comparing their values with the other rows.

We run performance tests regularly on GitHub Actions to track consistency over time. Throughput on a hosted runner may differ from throughput on a dedicated machine. See the hardware benchmarks for dedicated-machine results.