タグ

2017年1月14日のブックマーク (4件)

  • Re:golang の http.Client を速くする

    先日mattnさんの記事を読みました。 golang の http.Client を速くする nettというパッケージを使って 名前解決の結果をキャッシュすることで、http.Clientを早くするというものです。 この記事に関して、ちょっと疑問に思ったことがあったので、検証してみました。 疑問 疑問に思ったのは以下の点です。 名前解決遅すぎでは? ベンチマークの結果を見ると5億ns(=500ms)ほど速度が改善しています。 3つのURLに対してリクエストを投げているので、初回を除く2回DNSのキャッシュがヒットし、 名前解決2回分の速度改善になるはずです。 と、いうことは、名前解決1回あたり250msかかっている計算になります。 googleのsearchは302でリダイレクトがかかるので、Client.Getの呼び出し1回あたり2回リクエストが飛ぶ、 ということを計算に入れても100m

  • What is the Windows equivalent of the Unix function gmtime_r?

    kjw_junichi
    kjw_junichi 2017/01/14
    なるほど、苦手なスレッド関連の対策をしたgmtimeがLinuxではgmtime_rなのかぁー
  • alloca関数 - Qiita

    C言語で動的なサイズのメモリ確保が必要となれば、典型的にはmallocとfreeの出番ですが、allocaというものもあります。 C言語での変数の寿命 オブジェクト指向な言語の多くでは、ガベージコレクタが入っているので、「オブジェクトの寿命」≒「オブジェクトへの参照が存在する間」ということになります。これに対して、C言語(やC++)では、ガベージコレクタのような高度な仕組みはないので、変数の寿命は次の2つのどちらかになります。そして、C11で加わった可変長配列を別として、配列を確保するときもサイズは固定のしか取れません。 自動変数…スコープに入ったところで変数が用意され、スコープを抜けたところで解放される 静的変数・外部変数…プログラムの開始から終了まで存在し続ける これらに当てはまらない操作をしようと思えば、ライブラリ関数を使ってポインタ経由で使うほかありません。 allocaとは ふつ

    alloca関数 - Qiita
    kjw_junichi
    kjw_junichi 2017/01/14
    mruby-http2をwindowsでもMSVCで動かそうとしてたら、知った関数。
  • Windows 10でMSVCでnghttp2のサンプルを動かす - non vorrei lavorare

    おはようございます。2年連続で正月は多摩川の河川敷で子供たちと凧揚げをしたkjunichiです。 概要 nghttp2はMSVCでもライブラリ単体はビルド可能とgithubのリポジトリのREADMEにも書かれている通り、 cmakeで特に依存ライブラリは必要ともせず、容易にビルドできる。 しかし、いざ、nghttp2ライブラリを使おうとしたら、数日ハマった。 一日がかりで、nghttp2をMSVC環境でライブラリのみをビルドして、examplesのlibevent-server.cを動かそうとしたら、libevent側でbufferevent_openssl.cをWindowsは除いてビルドしているので、結局リンクエラー— kjunichi (@kjunichi) 2017年1月7日 nodeはWindowsをサポートしており、http2をサポートする際はnghttp2を使う予定とのことで

    Windows 10でMSVCでnghttp2のサンプルを動かす - non vorrei lavorare
    kjw_junichi
    kjw_junichi 2017/01/14
    ブログ書いた。 #nghttp2 #windows