When you saying 0 fee, you should explain how system know which transaction should be processed first! This is a main purpose of fees and blocks are limited in size!
Please see
Slide 9 in this presentation. The transactions are *not* prioritized based on the transaction fee, but are processed as they arrive.