Agree that the firebrick is the outlier here, but even for normal consumer stuff the zyxel boxes are at the slow end.
I had a look at using a different toolchain, downloaded the "Codescape" package from MIPS, but on inspection the layout the differences between it and the one supplied by zyxel would mean an awful lot of hunting through Makefile spaghetti or meticulously renaming things in the Codescape package.
The supplied one is uClibc, which from looking at:
https://www.linux-mips.org/wiki/Toolchainsappears to be the most complete if not the most optimised. I know compiler optimisation is some dark magic, but I doubt there are serious benefits between solutions to a problem as well explored as C/C++ compilers.
Had some fun poking around with "make menuconfig" on the kernel, lots of very specific broadcom options there, one thing of note was a DSL GINP RETX option which was completely disabled... this must be of no consequence as GINP certainly works without it, but weird that there is unused kernel support for it.
Trying to build after making changes to the kernel config somehow managed to break the build environment on my VM... fun! Some changed env variable or something maybe, couldn't seem to reverse it even after removing everything related to the build and setting it up again. Was good to refresh how to create it in a new VM though, it really is just a few steps.
So yeah, probably wont be playing with kernel configs much more, but may stick with removing iptables on my own firmwares.