I can't answer your first question unfortunately, but I can offer one thing: I found in the past that with very large data sources, parameters ended up being much faster that any filters, global or otherwise. I think I ran into an issue once where filters were taking 20-30 seconds, and Actions took this down to about 10-12 seconds, Parameters to 5 (this was a multiple data source case). So you might want to try building some parameters to replace your global filters, and see if those improve your speed.
(Some info on setting these up is here:)
The one issue with parameters is that works best if you can only select 1 thing at a time. If your users typically need to select multiple things, you might also try Filter-Actions to replace your filters. Always good to try a few things and run tests, to see what works best with your data.
Hope this helps a little!