Just a quick note for future readers:

How to clear up the lopsided timing and see exactly how fast you can go: Take the 'while' loop and all of its contents, and put it at the end of setup() - and...