写代码有感而发

  • 写代码有感而发已关闭评论
  • 134 次浏览
  • A+
所属分类:.NET技术
摘要

我不甘心只做个普通程序员,想提升自己的技术水平,写出优秀的代码,那就尝试写个日志工具类吧。

我不甘心只做个普通程序员,想提升自己的技术水平,写出优秀的代码,那就尝试写个日志工具类吧。

一个小小的日志工具类,没几行代码,写起来才发现,巨难!

多进程版,为了解决日志分隔文件大小不正确的问题,从早上7点多一直改到下午1点半,总算是改好了,不过性能还是比NLog多进程写日志差很多。真的是太难了!这可只是仅有300行代码的工具类而已。

源码:
https://gitee.com/s0611163/LogUtil
单进程版性能和NLog一样
多进程版比NLog性能低

NLog源码看过一点点,感觉多进程版要想达到NLog的性能水平,我掌控的知识还不够。

欢迎讨论,多进程版怎么提升性能?我用的是Mutex和MemoryMappedFile共享内存解决多进程并发问题和日志分隔问题,但感觉影响了性能,还有更好的办法吗?

感觉写出好程序,逻辑比算法重要,算法往往有很多确定的解法,有性能高的和性能低的,你选用性能高的算法,性能就好,但程序逻辑、思路,每个人差别都很大,似乎没有固定的模式,不容易找到最佳实践。