Also, the PWMs would probably need to be an internal peripheral to the proc so it only takes a clock cycle to update the new duty.
For the true-sine AC, processing-wise, it would not take much to determine the new duty, just some addition on the ring-counter variable for table lookup with the step size changing with RPM. Even 8 updates per phase at 50k RPM would better approximate a sine wave for true AC.
Now, the adpative algorithms would require a bit more work (sample, calculate, update PWM) multiple times per phase. Don't ask me what I'll be sampling, yet - I still need to hook up a scope and start tinkering.
Years ago, I worked on a laser guage that rotated a mirror hit by a laser that could measure the shadow of a wire. When calibrated, it could determine the wire diameter (on one axis) down to 0.1 micron with a 100MHz counter. The prototype used a hard-disk motor driven much the same way as our BL motors (3 phase square wave). Inititally, it had the nasty problem of not being able to be calibrated properly across the full range of wires (up to 1/2 inch). It turns out the phase to phase accelleration was causing the error! We solved it cheaply with a large flywheel.
DSP processors are getting quite cheap these days.