I did not expect to get so many posts before I even show up for work.
Looking at all the replies, one potential explanation for some of the 'better' precision numbers for GETDATE() might be possible.
64 bit OS.
Looks like whoever run the tests on 64 bit OS got the 3.33 ms precision and whoever run it on 32 bit got ~16 ms presicion.
If anyone of you got the 3.33 ms on a 32 bit box please reply with more specifics on the OS, CPU and SQL Server version. I don't think anything else could explain the difference. I did to run the tests on different configurations but I have to admit I did not have access to a 64 bit OS.
Interesting article. Even more interesting is the differing values coming out of other peoples servers.
OS: Windows XP 32 bit, SP2
CPU: 2 Processors (Core Duo)
SQL: 2008 Dev, 10.0.2531
GetDate(): 6507, 3.33333
SYSDATETIME(): 1806, 15625.2
OS: Windows Server 2003, 32-bit, SP2
SQL: 2005 EE, 9.0.4053
CPU: 2 processors
GetDate(): 17814, 3.41192
I can test on my 64-bit laptop tonight...