C#里面低消耗获取当前时间的思路
Linux下有vsyscall来优化一些例如time(NULL), gettimeofday这种调用的消耗; 但是Windows下, 没有类似的东西, 但是思路还是有的
1. 程序启动的时候, 获取一下准确的时间戳
2. 然后每次需要获取时间的时候, 获取一下流逝的时间, 可以通过获取CPU的ticks数, 或者进程启动的毫秒数来获取
前者通过Stopwatch.GetTimestamp()来获取, 后者通过Environment.TickCount和Environment.TickCount64来获取. 其中Environment.TickCount64只支持.net core 3.0以上的版本.