I/O、写入本地驱动器上的文件或写入套接字,哪个更快?
我有一个对性能非常敏感的关键应用程序(用 C 编写)。将内容写入日志文件实际上会减慢速度。我正在考虑将日志消息写入套接字,然后将其发送到另一个应用程序进行日志记录。那行得通吗?
I have a critical application (written in C) that is very performance sensitive. Writing things to log file will actually slow things down. I am considering to write the log messages to a socket, which gets send over to another application for logging. Would that work?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
最简单的方法是创建一个单独的线程来负责日志写入。只需将所有日志条目添加到链接列表中,然后让线程针对该列表工作即可。
Easiest way is to create a separate thread which takes care of the log writing. Just add all log entries to a linked list and let the thread work against that list.
使用异步 I/O。这将防止您的应用程序被阻塞。
Use asynchronous I/O. This will prevent your application from blocking.