我已经运行了一个简单的测试,通过加密循环中的字节缓冲区来测量Java 9中的AES-GCM性能.结果有点令人困惑.原生(硬件)加速似乎有效 - 但并非总是如此.进一步来说,
为什么?
我的测试代码如下所示:
int plen = 1024*1024;
byte[] input = new byte[plen];
for (int i=0; i < input.length; i++) { input[i] = (byte)i;}
byte[] nonce = new byte[12];
...
// Uses SunJCE provider
Cipher cipher = Cipher.getInstance("AES/GCM/NoPadding");
byte[] key_code = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
SecretKey key = new SecretKeySpec(key_code, "AES");
SecureRandom random = new SecureRandom();
long total = 0;
while (true) {
random.nextBytes(nonce);
GCMParameterSpec …Run Code Online (Sandbox Code Playgroud)