タグ

ブックマーク / kzk9.net (5)

  • LifeHack: 椅子で寝る技術

    Created: Kazuki Ohta, 2006/06/22 Last Update: Kazuki Ohta, 2006/06/22 前書き 仕事場に泊まらなければならない事がある。学校に泊まらなければならない事がある。でも少しばかり椅子で寝よう。そんなあなたに送ります。 準備 肘掛けの無い椅子。基的には横に並べるので肘掛けが有ると困る。高さを調節できるバーが有ると好ましい。以下の様なものが一般的。

  • moratorium | だってプログラマになりたいんだもーん

    だってプログラマになりたいんだもーん 釣られたら負けかなーと思ったけど、嘘は訂正しておこう。プログラマなりたいし。 東大卒がプログラマになんてならない理由 別にプログラマにならなくていーじゃん ■anondさんへ。 まずタイトル。理学部情報科学科を卒業して就職する人で、プログラマ(=コード書く人)にならない人はほとんどいないと思います。研究職もまぁコードは絶対書かれると思うのでプログラマに入ると思います。 (1)"ゼロから"CPUの設計 昔はやってたみたいですが、今は論理回路は組みません。これはたぶん時代の流れのせいで、近代的なアーキテクチャに近いものを作るためにVHDLを使ってるんだと思います。100MHz 5段パイプラインぐらいのを作る人もいます。Early Restart Cache作っちゃう人もいます。 (2)"ゼロから"プログラミング言語を設計 言語の設計はしません。 (3)"ゼ

  • libaio(Linuxの非同期I/Oライブラリ)の使い方 - moratorium

    libaio(Linuxの非同期I/Oライブラリ)の使い方 2007-06-05 (Tue) 4:53 Unix Linuxで非同期I/Oを行うためのライブラリ「libaio」の使い方を書いてみる事にする。少し昔の話になるが、lighttpdが使用し、スループットを80%も上げたらしい。 TOEFLに向けて転置ファイルについての論文(Inverted files for text search engine [moffat 06])でReading対策をしていたところ、意外とスニペット(検索にヒットした箇所の前後の文章)を作るところが時間がかかるという事を教えてもらったので、適当にそれを例題にしてみる。具体的には以下のようなコードを非同期I/Oを使用して速くなるかどうか見てみる。 for (unsigned int i = 0; i < files.size(); i++) { FILE*

  • C(++)言語: valgrindの使い方

    ubuntu% uname -a Linux ubuntu 2.6.12-10-386 #1 Sat Mar 11 16:13:17 UTC 2006 i686 GNU/Linux ubuntu% valgrind --version valgrind-3.0.1 (0) 目次 Valgrindに含まれるツール Memcheck: メモリエラーを検出する(default) Cachegrind: キャッシュミスを検出する Massif: ヒーププロファイラを使う まとめ valgrindの使い方とエラーメッセージを整理してみた。「valgrind --leak-check=full command」というコマンドラインをよく用いる。これによりメモリ周りのバグを検出出来る。 --tool=cachegrindではプログラム実行時のキャッシュミス率を測定する事が出来る。cg_annotateを

  • C言語: UNIX最速ファイルコピー

    Created: Kazuki Ohta, 2006/06/14 Last Update: Kazuki Ohta, 2006/06/14 「write(2)の正しい使い方」と同じく、OS演習でやった事の延長線の記事を書いてみる。お題は「UNIX上で大規模ファイルを最速でコピーする方法」だ。一般的に、UNIXでファイルをcopyする際には以下のような方法が有る。 read -> write read -> write with posix_fadvice mmap -> mmap -> memcpy -> fsync mmap -> mmap -> memcpy -> fsync with madvise mmap -> write mmap -> write with madvise read, write, mmap辺りは良いとして、posix_fadviseというシステムコールが有

  • 1