We are glad to announce the upcoming release of our V8 programming libraries, which will be available soon after the July 2016 database release. The V8 libraries is fully backward compatible. Developers can upgrade from older version of API to the latest V8 release because we maintain the same programming interfaces. The new V8 API will speed up query time with gain between 60% – 600% depending on database package and programming languages.
We want to give you an insight into what has changed in IP2Location to achieve the query time improvement. It all comes down to the new V8 BIN data format. We have added a new index section in the V8 BIN data format which we will explain in more details later. The new index section contains pointers to the subset of data where the geolocation data should be found. Instead of searching the entire geolocation data section, we can now narrow the search range for faster results in V8.
Please see below of the differences between the V7 BIN data format and new V8 BIN data format at high level.
Let’s suppose we want to query the geolocation information of IP address 8.8.8.8. In the V7 BIN data format, we will start the search for entire geolocation data section in yellow for the IP address information.
In new V8 BIN data format, we will query the index section first to find out where should we find the geolocation information of 8.8.8.8. As the result, we can narrow down the search efforts in the geolocation data section in yellow.
Please take note that you will need to use the latest V8 programming libraries and the latest V8 BIN file to enjoy the query time improvement. The V7 programming libraries are working fine with the V8 BIN files without speed improvement.
We are releasing the new V8 programming libraries by phases. Below are the latest progress of the library that had been released together with query time improvement based on the benchmark using the IP2Location DB1 BIN. We strongly encourage all users to upgrade the libraries and data file version to the latest as soon as they are available.
Language | Latest Version | % of Improvement | Download |
IP2Location .NET Component | 8.0.0 | 87% | Download |
IP2Location Java Component | 8.0.0 | 193% | Download |
IP2Location ActiveX Component | 2016.08 | 69% | Download |
IP2Location Perl Module | 8.0.3 | 342% | Download |
IP2Location C Library | 8.0.2 | 155% | Download |
IP2Location PHP Library | 8.0.0 | 100% | Download |
IP2Location Python Library | 8.0.0 | 163% | Download |
IP2Location Ruby Library | 8.0.1 | 356% | Download |
IP2Location Cocoa Library | 8.0.0 | 131% | Download |
IP2Location Node.js Module | 8.0.0 | 284% | Download |
IP2Location Pascal Library | 8.0.0 | 355% | Download |
IP2Location Nginx Module | 8.0.0 | 563% | Download |
Disclaimer: The percentage of improvement may differ in other packages such as DB2 due to the size of the BIN files.