Andrew's fix looked much more complicated than running a simple loop in the byte code. The way I read CompileCommand, I don't think it applies to intrinsics, or at least I don't see how it relates to make this easier.

The slow start seems to be getting enough attention that addressing it is probably easier than arguing why it's not a problem.

Tony


On 2/6/19 12:23 PM, Adam Petcher wrote:
I'm still not sold on this---it seems like a specific solution to a single instance of a more general problem.

Have you investigated any tweaks to the JVM or compiler settings? Andrew prototyped something[1], but it looks like this is also specific to GCM. A more general solution would be some way to tell the JVM that some method should always be compiled. I think this is the exact problem that motivated per-method compile thresholds[2], though it's not clear if the current implementation of that feature helps us here.

[1] http://cr.openjdk.java.net/~aph/gctr/
[2] https://bugs.openjdk.java.net/browse/JDK-8059606

On 2/5/2019 6:52 PM, Anthony Scarpino wrote:

I need a review of this change which is to help the AES/GCM intrinsic activate on large data sizes.  It's not the ideal resolution, which splits up the crypto operation in chucks, but I significantly improves performance for larger data sizes. Additionally there is an optimization to not allocated and use an unnecessary buffer in the init()-doFinal() case  that helped performance with large data sizes. The final result was a 1MB file is encrypted at 2GB/sec vs 250MB/sec.

This change is not meant to fix all possible performance bottlenecks.

http://cr.openjdk.java.net/~ascarpino/8201633/webrev/

Tony

Reply via email to