baidu

C#里面低消耗获取当前时间的思路

Linux下有vsyscall来优化一些例如time(NULL), gettimeofday这种调用的消耗; 但是Windows下, 没有类似的东西, 但是思路还是有的

1. 程序启动的时候, 获取一下准确的时间戳

2. 然后每次需要获取时间的时候, 获取一下流逝的时间, 可以通过获取CPU的ticks数, 或者进程启动的毫秒数来获取

   前者通过Stopwatch.GetTimestamp()来获取, 后者通过Environment.TickCount和Environment.TickCount64来获取. 其中Environment.TickCount64只支持.net core 3.0以上的版本.

 

posted @ 2020-01-28 16:26  egmkang  阅读(508)  评论(0编辑  收藏  举报