こんにちは。私はSergey Kamardin(セルゲイ・カマルディン)です。Mail.Ru(ロシアの電子メールサービス会社)で開発者をしています。 この記事では、どのように私がGoを使って高負荷対応のWebSocket […]

訳注: 前編はこちらになります。 マルチスレッドのパフォーマンス HPETベースのcurrentTimeMillis()の動作時間は640nsです(150万回/秒)。この時間は、コア1つあたりなのか、システム全体について […]

注釈:500,000単語収録の辞書内における1,000単語の検索時間 X:最大編集距離 Y:検索時間/ms 従来、スペル修正や文字列のあいまい検索には、BK木が適していると言われてきました。しかし、これは本当でしょうか。 […]

このシリーズの最初のパート(訳注:POSTDの翻訳記事へのリンクです)で簡単にBFソース言語を紹介し、最適化レベルが高まる4つのインタプリタについて述べました。実際にJITをいじる前に背景を知る上で役に立つと思います。 […]

本記事は、JITコンパイラに関するシリーズの第1回目です。計画としては、シンプルな入力言語を使ってそのインタプリタとJITをいくつか開発し、段々と複雑なものにしていくつもりです。このシリーズが終わるまでに、JITコンパイ […]

今日はJavaライブラリの中でも非常に基本的でよく使われるメソッド、System.currentTimeMillis()を見ていきましょう。 このメソッドはミリ秒単位の精度で現在時刻を知らせます。このことから、このメソッ […]

要素の削除についても測定してみましょう。ここでも、キーを整数にして3つのテストを、キーを文字列にして3つのテストを行いました。使ったのは4バイト値、32バイト値、1024バイト値です。4バイト値の図は前掲のとおりです。3 […]

テーブルを、異なるmax_load_factor()と比較する 先に示した最後のグラフは、私のテーブルとgoogle::dense_hash_mapがmax_load_factorに0.5を使う一方で、std::unor […]

(編注:誤訳、意味の分かりづらい訳を修正しました。リクエストありがとうございました。) 毎日、Pusherは数十億のメッセージをリアルタイム、つまり送り元から宛先まで100ms未満で送信しています。どのようにしてそれを可 […]

素数か2のべき乗か ハッシュテーブルのアイテムをルックアップする際に高負荷なステップが3つあります。 キーをハッシングする キーをスロットにマッピングする 該当スロットのメモリをフェッチする ステップ1は、キーが整数であ […]

結局、やり出したら止まりません。私は以前、”I Wrote a Fast Hashtable(私が書いた高速なハッシュテーブル)“という記事と、それに次いで”I Wrote a Fas […]

先日、Things that can go wrong when downloading(ダウンロード時に上手くいかないものごと)についての記事を書きました。その記事に、ネットワークの問題から妥当でないコンテンツ、不完全 […]