On Sat, 24 Oct 2020 21:38:55 GMT, CoreyAshford 
<github.com+51754783+coreyashf...@openjdk.org> wrote:

>> Yes, it assumes uniformly random data, but also recall that the unencoded 
>> data bytes get shifted by 2, 4, 6 bits into the encoded bytes, which I'm 
>> guessing would tend to make the data somewhat more uniform, even if the 
>> source data has low entropy.
>> 
>> That said, I didn't actually benchmark it.  I will do that to make sure 
>> there is a gain, and if there isn't I will remove the conditional branch.
>
>> I took a look at the VSX algo. I haven't looked much beyond it. I had a few 
>> questions I've inlined. It does look like a faithful VSX implementation of 
>> the linked algo.
> 
> I neglected to thank you for reviewing this code!  I realize there's quite a 
> time commitment required to review this properly, and because of that I was 
> having difficulty finding a second reviewer for the PPC64 portion.
> 
> Just to set expectations, I will be on vacation next week, so further commits 
> won't be posted until the following week, but I will address all of your 
> great feedback.  Thanks again!

I just got done running a benchmark without the branch around the xxsel, and 
your hunch was right.  There's about a 9% performance gain in the benchmark 
with that branch dropped.  I also changed the previous instruction not to set 
the condition code, but I doubt that affected performance.  Both regression 
tests for Base64 encoding/decoding still pass.

The next set of commits will contain this change.

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

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

Reply via email to