DateTime.Now causes IO blocking?

c#

Solution

Nobody so far has answered where the current time is really coming from. I'm not up to date with the latest PC architecture. But a few years ago, the real-time clock was part of a chip outside of the CPU (south bridge). So to get the time, you had to do some I/O operations with that chip. (It's not disk access but still an I/O operation.)

And since the current process has to wait for the answer from the clock, it's blocking I/O.

So that person on the conference was right.

Problem

On a conference someone told me that `DateTime.Now` causes IO blocking, something that I have never stopped to consider. If it does, why?

Original source