The slow loading issue got solved. Suffice to say it was a really, really simple fix. Details below
Turns out that the localiser (the bit of code that takes your given language and does all the magic juju to translate string) was attempting to load every file on every request. This is generally considered a “bad idea”, and for some reason it ended up in the code this way. I think I had a brain fart the day I built it like that.
The reason it didn’t turn into an issue before is that recently I’ve started copying language files from each version of World of Tanks – because WG has the annoying habit to make changes from version to version, and occasionally changing tank names and such things. That sure has an effect on things so I need to keep multiple versions. But when you try to load 15 files, and process them into a catalog it takes a fair amount of time. 2 seconds, to be exact.
That got solved by pre-loading everything when the web app starts up. It uses up more memory that way, but you can’t argue with the speed increase…


More...