We got the speed increase primarily by dropping to low-level code (numpy, and sometimes C) in functions that cause bottlenecks. Multi-threading helps too.
The largest gains are in the scenario you mentioned - big spreadsheets with a lot of computation. Excel tends to choke on these.