kubo39's blog

ただの雑記です。

2014-01-01から1年間の記事一覧

mmap(2) はよく高速なメモリアクセスを実現するための手法と思われがちだけれど必ずしもそうではないよ、という話。

これはhenteko advent calender 4日目の記事です。 昨日は amothicさんのビール いず うまいでした。 hentekoさんですが、絶対に留年してると思ってたけど留年してなかったのであの時はブチ切れましたね。 尺が余ったのでてきとーにmmapの話します。 一般的…

henteko advent calender Day.1

この記事はhenteko Advent Calendar 2014の一日目です. hentekoさんは会社のIRCのチャットでidのあとに -san をつけなかったから怒られた人です. というわけで librinooの話をします. reginaldl/librinoo · GitHub librinooはイベントドリブン+マルチスレッ…

PythonのC拡張をgeventとうまく組み合わせる方法

geventは標準ライブラリのsocketモジュールにモンキーパッチをあてることで既存のライブラリもうまく非同期であつかうことができるのだが、C拡張が使われている場合はこの手法は使えないという問題が以前から知られていた.(なのでgeventはPyMySQLと組み合わ…

Goのランタイムのはなし

goroutineがシステムコール呼び出しで切り替わってもスレッドがカーネル空間でブロックしてたら意味がないのではという疑問、あるいはGOMAXPROCSがネイティブスレッドの数を制限するという誤解について。 Goランタイムはネイティブスレッドとは別にコンテキ…

2のn乗だけを選ぶ

ニセコイのマリー&あすみすに命を救われている. 10000000までの数から2のn乗の数だけを選んで出力. ただし実行結果は1秒以内、という問題を出した. print 1 for i in xrange(2, 10000000, 2): if not i & (i - 1): print i 3系ならこう書ける. print(1) [pr…

Cの型を無効にしたい

C

Cを使っていると、みなさんもよくintだとかcharだとかいう型を無効にしたくなるときがあるかと思います. #define int XXint / / / int main() {} のようにやるとintが無効化されます. $ gcc hoge.c hoge.c:3:1: エラー: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘_…