clintropolis commented on PR #12542:
URL: https://github.com/apache/druid/pull/12542#issuecomment-1138314192
I made some additional adjustments, and updated the benchmark to be more
realistic and measured the difference (subnet is created outside of the loop,
100k inputs, etc)
```
Benchmark
(numOfAddresses) (prefixRange) Mode Cnt Score Error Units
IPv4AddressBenchmark.longContainsUsingIpAddr
100000 16 avgt 5 9.868 ± 0.639 ms/op
IPv4AddressBenchmark.longContainsUsingIpAddr
100000 31 avgt 5 9.502 ± 0.827 ms/op
IPv4AddressBenchmark.longContainsUsingIpAddrWithStrings
100000 16 avgt 5 40.665 ± 8.771 ms/op
IPv4AddressBenchmark.longContainsUsingIpAddrWithStrings
100000 31 avgt 5 39.876 ± 5.530 ms/op
IPv4AddressBenchmark.longContainsUsingSubnetUtils
100000 16 avgt 5 1.953 ± 0.097 ms/op
IPv4AddressBenchmark.longContainsUsingSubnetUtils
100000 31 avgt 5 2.050 ± 0.149 ms/op
IPv4AddressBenchmark.parseLongUsingIpAddr
100000 16 avgt 5 8.125 ± 0.367 ms/op
IPv4AddressBenchmark.parseLongUsingIpAddr
100000 31 avgt 5 8.143 ± 0.582 ms/op
IPv4AddressBenchmark.parseLongUsingSubnetUtils
100000 16 avgt 5 1.146 ± 0.213 ms/op
IPv4AddressBenchmark.parseLongUsingSubnetUtils
100000 31 avgt 5 1.147 ± 0.152 ms/op
IPv4AddressBenchmark.parseStringUsingIpAddr
100000 16 avgt 5 37.648 ± 2.460 ms/op
IPv4AddressBenchmark.parseStringUsingIpAddr
100000 31 avgt 5 37.580 ± 2.368 ms/op
IPv4AddressBenchmark.parseStringUsingIpAddrString
100000 16 avgt 5 23.114 ± 2.343 ms/op
IPv4AddressBenchmark.parseStringUsingIpAddrString
100000 31 avgt 5 22.552 ± 0.700 ms/op
IPv4AddressBenchmark.parseStringUsingSubnetUtils
100000 16 avgt 5 61.369 ± 5.106 ms/op
IPv4AddressBenchmark.parseStringUsingSubnetUtils
100000 31 avgt 5 62.713 ± 4.682 ms/op
IPv4AddressBenchmark.stringContainsUsingIpAddrPrefixContains
100000 16 avgt 5 38.874 ± 2.810 ms/op
IPv4AddressBenchmark.stringContainsUsingIpAddrPrefixContains
100000 31 avgt 5 39.228 ± 1.715 ms/op
IPv4AddressBenchmark.stringContainsUsingIpAddrPrefixContainsTooManyRoundTrips
100000 16 avgt 5 39.179 ± 1.294 ms/op
IPv4AddressBenchmark.stringContainsUsingIpAddrPrefixContainsTooManyRoundTrips
100000 31 avgt 5 40.146 ± 0.725 ms/op
IPv4AddressBenchmark.stringContainsUsingSubnetUtils
100000 16 avgt 5 74.197 ± 14.850 ms/op
IPv4AddressBenchmark.stringContainsUsingSubnetUtils
100000 31 avgt 5 71.563 ± 1.444 ms/op
IPv4AddressBenchmark.toLongUsingIpAddr
100000 16 avgt 5 5.338 ± 0.886 ms/op
IPv4AddressBenchmark.toLongUsingIpAddr
100000 31 avgt 5 5.035 ± 0.462 ms/op
IPv4AddressBenchmark.toLongUsingSubnetUtils
100000 16 avgt 5 7.535 ± 0.769 ms/op
IPv4AddressBenchmark.toLongUsingSubnetUtils
100000 31 avgt 5 7.298 ± 0.552 ms/op
```
The main improvement is with contains on the `LONG` typed inputs, which now
no longer need converted to strings to do the match.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]