On Fri, 9 Jul 2021 09:15:18 GMT, Andrew Haley <a...@openjdk.org> wrote:

> I'm quite tempted to approve this. It looks generally better, simpler, and 
> easier to understand than what we have today. However, the improvement isn't 
> great, and I suspect is mostly because of the reduction in traffic between 
> Base and Vector registers.
> What happens if you rewrite `compare_string_16_bytes_same()` to use `ldp` ?

I refacted `compare_string_16_bytes_same()` as a draft, the performance 
comparision is listed here,
Benchmark                                      |(diff_pos)|(size) | Mode | Cnt 
|  Score|  Error | Units
-----------------------------------------------|----------|-------|------|-----|-------|--------|------
StringCompare.compareLLDiffStrings             |         7|   128 | avgt |   5 
|  4.252|± 0.001 | us/op
StringCompare.compareLLDiffStrings             |        15|   128 | avgt |   5 
|  4.714|± 0.001 | us/op
StringCompare.compareLLDiffStrings             |        31|   128 | avgt |   5 
|  6.139|± 0.445 | us/op
StringCompare.compareLLDiffStrings             |        47|   128 | avgt |   5 
| 13.861|± 0.001 | us/op
StringCompare.compareLLDiffStrings             |        63|   128 | avgt |   5 
|  8.823|± 0.007 | us/op
StringCompare.compareLLDiffStringsWithLdp      |         7|   128 | avgt |   5 
|  3.867|± 0.001 | us/op
StringCompare.compareLLDiffStringsWithLdp      |        15|   128 | avgt |   5 
|  5.571|± 0.756 | us/op
StringCompare.compareLLDiffStringsWithLdp      |        31|   128 | avgt |   5 
|  5.408|± 0.001 | us/op
StringCompare.compareLLDiffStringsWithLdp      |        47|   128 | avgt |   5 
|  6.896|± 0.825 | us/op
StringCompare.compareLLDiffStringsWithLdp      |        63|   128 | avgt |   5 
|  6.787|± 0.001 | us/op
StringCompare.compareLLDiffStringsWithRefactor |         7|   128 | avgt |   5 
|  3.481|± 0.001 | us/op
StringCompare.compareLLDiffStringsWithRefactor |        15|   128 | avgt |   5 
| 10.023|± 0.012 | us/op
StringCompare.compareLLDiffStringsWithRefactor |        31|   128 | avgt |   5 
|  5.627|± 0.017 | us/op
StringCompare.compareLLDiffStringsWithRefactor |        47|   128 | avgt |   5 
| 13.369|± 0.544 | us/op
StringCompare.compareLLDiffStringsWithRefactor |        63|   128 | avgt |   5 
|  8.382|± 0.988 | us/op

-------------

PR: https://git.openjdk.java.net/jdk/pull/4722

Reply via email to