タグ

ioに関するJxckのブックマーク (4)

  • プログラマが知っておくべき、メモリ/ディスク/ネットワークの速度まとめ - Qiita

    注: 無線ネットワークは干渉などによりこの数値より遅くなる状況も十分ありえます。 ポイント メモリからの読み込みとディスクからの読み込みはランダムアクセスで1000倍程度違う とは言え、最近はディスクも結構速い きちんと繋がれた有線ネットワークからの読み込みは、ディスクより速い つまり、ディスクから読むより、同じデータセンターのマシンのメモリから読んだほうが速い モバイルネットワークだと100キロバイトのデータでも1秒以上かかることがある メモリからの読込速度の遅さは、CPUのクロック数も10G/s程度なのと、来はL1/L2キャッシュなどがあることを考えると通常意識しなくて良い 何故この参考値をまとめたか プログラミングをする際、どのくらいの時間でどのくらいのサイズ感の処理が出来るのかを考えられることが、ある一定規模以上のサービスを開発するときは必須条件になってくると思います。 なにより

    プログラマが知っておくべき、メモリ/ディスク/ネットワークの速度まとめ - Qiita
    Jxck
    Jxck 2016/07/06
    I/O の速度のざっくりとした比較、ボトルネックの検出などの際に参考になりそう。
  • 【Go言語】可変長のioをReadしたい【bufio.Scanner】【io.Rader】 - DRYな備忘録

    io.Readerを使った読み込み ファイルの読み込みやTCPコネクションのメッセージ読み込みに、io.Readerインターフェースを実装したstructのReadメソッドを使う 以下その例 package main import "fmt" import "os" func main() { file, _ := os.Open("sample.txt") bufferSize := 4 buf := make([]byte, bufferSize) n, e := file.Read(buf) fmt.Println("LENGTH READ:", n, "ERROR:", e) fmt.Println("---RESULT---\n", string(buf)) } 問題 上記の例では、読み込んだトークンを流し込むバッファー([]byte型)を自分で定義して、ReaderのReadに

    【Go言語】可変長のioをReadしたい【bufio.Scanner】【io.Rader】 - DRYな備忘録
    Jxck
    Jxck 2014/08/27
    io, io/ioutil, bufio, bytes あたりは俯瞰しておきたい。
  • ログ先行書き込みを用いたストレージ差分取得の一手法

    WalB の紹介とプロトタイプの性能評価 WebDB Forum 2012 の技術報告セッションで発表.

    ログ先行書き込みを用いたストレージ差分取得の一手法
    Jxck
    Jxck 2012/11/22
  • I/Oを多重化するためのシステムコール(select, poll, epoll, kqueue) - $shibayu36->blog;

    サーバ周りの勉強していると、たまにselectとかepollとか言葉が出てきて、理解できてなかったので調べてみた。 I/Oの多重化 例えばサーバ周りの実装を、特に何も考えずにやると、I/Oでブロッキングが発生し、一つのクライアントとしか通信できないということが起こります。これを解決するために fork threads I/Oの多重化 非同期I/O といった方法があります。 この中のI/Oの多重化を実装するためのシステムコールとして、select, poll, epoll, kqueueなどは実装されているようです。 少し調べてみると、次のような記述のような機能をそれぞれが実装するようです。 プログラムで複数のファイルディスクリプタを監視し、 一つ以上のファイルディスクリプタがある種の I/O 操作の 「ready (準備ができた)」状態 (例えば、読み込み可能になった状態) になるまで待つ

    I/Oを多重化するためのシステムコール(select, poll, epoll, kqueue) - $shibayu36->blog;
  • 1