Tobias Bading <tbad...@web.de> writes:

> On 27.05.2013 16:12, Tobias Bading wrote:
>> On 27.05.2013 16:01, Branko Čibej wrote:
>>> Can you try this: run the following command for a couple of seconds, it
>>> should give you an idea about the system clock precision.
>>>
>>> { while true; do date '+%M:%S.%N'; done; } | uniq
>>
>> Redirected to a file, I get about 1250 unique timestamps per second, nicely 
>> distributed it seems.
>
> Hmm... a modified version of your command paints a completely different 
> picture:
>
> { while true; do touch t; ls -l --full-time t; done; } | uniq
>
> prints exactly *two* lines per second, one every 0.5 second, exact down to 
> the millisecond.
> No idea why yet, but this explaines everything I guess. Asking Google...

An earlier mail showed us that you are using ext4 on OSX -- does OSX
have native support for ext4 now or are you using a 3rd party driver?

Subversion assumes that a sub-second timestamp implies at least a
millisecond resolution but that is not the case on your ext4 filesystem.
We would need to modify the sleep algorithm if we are to support this
filesystem.

We could modify the sleep calculation to something like:

   if timestamp has sub 1ms component
     sleep for 1ms
   else if timestamp has sub 10ms component
     sleep for 10ms
   else if timestamp has sub 100ms component
     sleep for 100ms
   else
     sleep for 1s

or perhaps do it in base 2 rather than base 10?

-- 
Certified & Supported Apache Subversion Downloads:
http://www.wandisco.com/subversion/download

Reply via email to