タグ

ブックマーク / ackintosh.github.io (3)

  • MySQLでインデックスあり・なしの検索速度を比較してみました。 - 暁

    usersとfavoritesが1対多になるようにして、 indexの設定あり・なしの2つのDBを用意して比較しました。 予め、 usersは 100,000件 favoritesに300,000件のレコードを用意しました。 indexなし ・テーブル作成 create table users( id int(11) not null primary key auto_increment, name varchar(40) not null ) engine=innodb; create table favorites( user_id int(11) not null, favorite_name varchar(40) not null ) engine=innodb; ・select ・explain indexあり ・テーブル作成 create table users( id in

    MySQLでインデックスあり・なしの検索速度を比較してみました。 - 暁
    peketamin
    peketamin 2016/05/06
    “0.38 秒”
  • Snidel 0.2 をリリースしました - 暁

    Snidel バージョン 0.2 をリリースしました。 この記事は、 追加した3つの機能の紹介と、Snidel を使ってもらって嬉しかった!の話になります。 個人的に、(実際のアプリケーションで必要とされるかは別として)面白い試みをした機能もありますので興味を持っていただけると嬉しいです。 特定の処理結果を取得 処理結果を取得するメソッドとして Snidel::get() を用意していますが 並列に処理する関係で、 Shidel::get() で得られる結果の順番は保証されません。 $snidel->fork($func, 'foo'); $snidel->fork($func, 'bar'); $snidel->fork($func, 'baz'); var_dump($snidel->get()); // * the order of results is not guaranteed

    Snidel 0.2 をリリースしました - 暁
    peketamin
    peketamin 2015/11/10
  • php で手軽に並列処理をするライブラリ Snidel を作りました - 暁

    シルバーウィーク中に php のライブラリを作りました。 ackintosh/snidel Snidel (スナイデル) について 他の言語のマルチスレッド等の並行・並列処理のための機構に近い書き心地で php で手軽に並列処理をする。というのがコンセプトです。 子プロセス数の制御に メッセージキュー プロセス間のデータのやりとりに 共有メモリ を使っています。 命名に特にこだわりは無いのですが、響きがシュッとしてていいかなと思ってます。 ただ、この記事を書きながらGoogle翻訳にかけてみたらエストニア語で「薬物使用者を注入」って出てきたので少し怖くなってきました…。 proc_open() や exec() でコマンドをバックグラウンドで実行するのではなく、 Callable を別プロセスで実行して、結果を親プロセスが受け取るかたちにしたかったので PCNTL関数 を使うようにしました

    php で手軽に並列処理をするライブラリ Snidel を作りました - 暁
    peketamin
    peketamin 2015/11/08
  • 1