Whats the proper way to measure time in milliseconds in javascript? cross-platform/browser?

Here is what I have now...
-------------------------
var start = new Date();
var ss = start.getTime();

// do some work, like load a page

var end = new Date();
var es = end.getTime();
var ts = es - ss;
alert(ts);
-------------------------

This should measure how long it took to load something right? Assuming i had a bunch of stuff in the "//do some work" area. But, on my personal computer (AMD 1.2/Win2k/IE6/56kmodem) it always says 0 or 10 whenloading a 50kb piece of test data from the server that code is on. If i run it locally, i get 0 or 10 as well. If I run it on Netscape/Linux combo (using bandwidth from my 56k line) it usually says something like 3000-7000 which is perfectly correct. I have another win2k box on my network (IE5) which also shares my 56k connect, it gets 10 or 0 as the alert. I asked someone at my work to test it out on a laptop. The laptop is win2k/IE5 or 6. He gets normal numbers, anything from 100 to 1000.

Has anyone got any ideas whats up w/ this? I also need it to work on macs as well (Netscape and IE4.5+). Thanks