プログラミング

std::threadとstd::vectorでboost::thread_groupのようにスレッドをまとめて起動

最近C++でのスレッド処理の勉強をしていて,C++11(C++0x)からboostを入れなくてもthreadクラスが使えるようになったようなのでそちらを使ってみる.んで,同じような処理をするスレッドをまとめてcreate/joinできるようにしたいなーと考えて色々調べていたと…

filepointerの内容をistreamで受け取る

プログラム中で実行したコマンドの出力をストリームで受け取りたい. というのも,プログラム中でxzcatした出力を標準入力からきたもののように処理したいためである.とりあえずpopen()を使うことで,出力内容をファイルディスクリプタとして受け取ることが…

mapを使って形態素にidをふる

C++の標準ライブラリであるmapを使ってシンボルにidを振っていく方法をメモ.自然言語処理をしているため,今回はシンボル=形態素ということにして書いていく.以下のようなテストファイルに対して,重複なくidを振りたい. //test.txt 取材 の 帰り に 、 …

GNU timeでプロセスの最大メモリ使用量を取得するシェルスクリプトを書いてみた

GNU timeコマンドで,プロセスの最大メモリ使用量(Maximum Resident Set Size:以下,RSS)が取得できることを教えていただいた.例えば'ls'のRSSが知りたい場合にはこんな感じ. $ /usr/bin/time -f "%M KB" ls > Dir1 Dir2 file1 file2 file3 <- lsの実行結…

Project EulerをC++で

前の記事にも書いたけど,C++を研究で使うことにしたので,その勉強,というか慣れるためにProject Eulerを始めてみました.About - Project EulerProject Eulerとは,用意された数百のプログラミング課題を解いていくもので,解いた問題数や,様々な条件を…