define BACK_TO_TABLES in aes256.cpp?
Created by: romulox-x
Is there a reason the line
define BACK_TO_TABLES
is commented out at the top of core/io/aes256.cpp? From what I can gather, the current code skips the use of lookup tables, and instead calculates the needed data on the fly. In my roughly measured experiments where I enabled encryption of my scripts, this gives me load times 3-4 times longer than the unencrypted scripts. If I uncomment this line, so that it uses the lookup tables, I can no longer distinguish between the encrypted and unencrypted load times, which is great. But I wonder if this is too good to be true, and using the lookup tables is a bad choice for some reason. I was able to export my scripts encrypted using a slow, non-lookup table built binary, then load that data using the fast lookup table version, so it seems they both work correctly.
Shall I make a PR for this, enabling the lookup tables? Does anyone know enough about this to comment on whether this is a good idea? I should be able to do this through scons build scripts myself, but if this is an acceptable change, I see no reason to keep doing it the slow way by default.