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 取材 の 帰り に 、 …

Galaxy S II LTE購入

今まで3年前に購入したガラケーを使っていたのですが,スペックが上がり,LTEにも対応し始めたということなので,スマートフォンに乗り換えることにしました.高い買い物なので,長い間使い続けたいという思いもあり,現状で最高のスペックをもつGalaxy S II…

boostの手動インストールメモ

実験サーバに入っているのboostのバージョンがバージョンが古すぎたので,最新のバージョンのものを自分用にインストールしました. 背景 boost/tokenizer.hppをインクルードしてコンパイルしたら,以下のようなエラーがズザーっと出た. In file included f…

謹賀新年

明けましておめでとうございます.昨日の夜は,C++のboostライブラリの導入作業をしながら年越しを迎えたという残念な感じでした.その上現在風邪気味でもあります(笑まぁそんな感じで,2012年が絶好調のスタートとは行きませんでしたが,今年は去年以上に…

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とは,用意された数百のプログラミング課題を解いていくもので,解いた問題数や,様々な条件を…

ご挨拶

すでに1件記事を書いてから,「あ,一応記念に挨拶記事でも書くか」と思ったので書いています.ちょっと自分で考えたこととか調べたことを,自分用のメモを残すと同時に公開してみようかなぁと思って始めてみました.日々学んだこととか,プログラミングとか…

gcc4.6.2の手動インストールメモ

普段の研究にはPythonを用いているのですが,どうも大規模データを扱うには不向き(というか遅い)のでC++でコーディングすることにしました.とりあえず研究室の実験サーバの環境を知ろうと思って,gccのバージョンを調べてみたら4.1.2でした.2006年にリリ…