Improved T2 single-thread crypto via async operations
I've been comparing the sync and async APIs to the kernel cryptographic framework and if you are interested in improving single-thread crypto performance on the UltraSPARC T2, async can be interesting:
8KB objects, crypto_encrypt_mac() operations (3DES, MD5)
|
# operations |
Performance improvement (async perf / sync perf) |
|
1 |
0.77 |
|
2 |
1.97 |
|
4 |
3.1 |
|
8 |
4.74 |
So, if you have the opportunity to handle multiple outstanding crypto operations per thread, using the async API is a good way to go, potentially improving crypto performance by over 4.7X. If you only have one outstanding request per thread, then sync delivers better performance, because there are no Solaris interrupt overheads.
