Github user kinow commented on the issue:

    https://github.com/apache/jena/pull/237
  
    @osma,
    
    >Did you by any chance test this with the performance test case that I 
wrote up earlier? I'd like to know how it compares to a plain ORDER BY in terms 
of performance. I can test that myself too when I have a suitable slot of time, 
but that might take a while since many deadlines are coming up in the next few 
days...
    
    Well remembered. Updated my sandbox to include [a JMH 
test](https://github.com/kinow/jena-arq-filter/blob/master/src/test/java/br/eti/kinoshita/jena/ArqOrderByTest.java#L24).
    
    Initial version was using the average time. Here are the results.
    
    ```
    Result "br.eti.kinoshita.jena.ArqOrderByTest.testOrderByCollation":
      3058822481.830 ±(99.9%) 51737778.554 ns/op [Average]
      (min, avg, max) = (2669383311.000, 3058822481.830, 3841515554.000), stdev 
= 219060994.044
      CI (99.9%): [3007084703.276, 3110560260.384] (assumes normal distribution)
    
    Result "br.eti.kinoshita.jena.ArqOrderByTest.testOrderByLang":
      3017545546.455 ±(99.9%) 47500397.951 ns/op [Average]
      (min, avg, max) = (2646169688.000, 3017545546.455, 3499258012.000), stdev 
= 201119659.239
      CI (99.9%): [2970045148.504, 3065045944.406] (assumes normal distribution)
    
    
    # Run complete. Total time: 00:41:33
    
    Benchmark                            Mode  Cnt           Score          
Error  Units
    ArqOrderByTest.testOrderByCollation  avgt  200  3058822481.830 ± 
51737778.554  ns/op
    ArqOrderByTest.testOrderByLang       avgt  200  3017545546.455 ± 
47500397.951  ns/op
    ```
    
    Then updated it to actually benchmark the throughput.
    
    ```
    Result "br.eti.kinoshita.jena.ArqOrderByTest.testOrderByCollation":
      ≈ 10⁻⁹ ops/ns
    
    Result "br.eti.kinoshita.jena.ArqOrderByTest.testOrderByLang":
      ≈ 10⁻⁹ ops/ns
    
    
    Benchmark                             Mode  Cnt   Score     Error   Units
    ArqOrderByTest.testOrderByCollation  thrpt  200  ≈ 10⁻⁹            
ops/ns
    ArqOrderByTest.testOrderByLang       thrpt  200  ≈ 10⁻⁹            
ops/ns
    ```
    
    Throughput displays no difference. Average time was about the same for 
minimum, but average and max displayed a slight increase when using collation. 
But I think the overhead won't be really noticeable for end users.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

Reply via email to