系统调用回答为什么要用buffer写
生活随笔
收集整理的這篇文章主要介紹了
系统调用回答为什么要用buffer写
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
為什么系統調用會慢?
程序的讀寫是要調用內核的方法去寫,產生系統調用,就必須頻繁的切換用戶態和內核態,切換的過程需要保存現場,清理寄存器,回復現場等,消耗cpu時間,所以慢,好的程序應該是盡量減少這種動作。
java的普通的寫
有兩種方式:
1.普通的io流寫,
跟蹤系統調用
用 strace 跟蹤系統調用,strace -ff -o out java java的class文件名
普通的寫:
buffered寫:
對比一下,普通的寫10個字節就發生一次系統調用write(),buffered寫8190(將近8k)才發生一次系統調用,當然是發生系統調用越少越快了。
總結
以上是生活随笔為你收集整理的系统调用回答为什么要用buffer写的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux内核管理pagecache的一
- 下一篇: java快递追踪系统_物流跟踪(快递10