The low efficiency is mainly caused by the applied kind of constant voltage operation. If you operate an electric machine with too much voltage compared to its back emf the motor windings will draw too much current and act mainly as heaters and not as back emf limited power coils. Constant average current operation under self commutation make sure, that the motor operates at a certain tourque at its power goes linear with the motor speed. The coil will never get to much current or to much voltage.