The old implementation since wish8.6 is doing superfluous update computations, test this script:
These are the measurements with memtime (Linux):
Revised: | 0.84 s | |
wish8.5: | 1.08 s | |
wish8.6: | 14.80 s | |
wish8.7: | 68.58 s |
Note that the revised version is based on wish8.6 (pl 6), so we can conclude that the text widget implementation is the causer of this processor load.