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]

Reply via email to