注釈: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(ダウンロード時に上手くいかないものごと)についての記事を書きました。その記事に、ネットワークの問題から妥当でないコンテンツ、不完全 […]

皆さんは“Node.jsではコードが動的に最適化される”という記事を幾つか読んだことがあるかもしれません。本稿では、この文言が意味するところとコードが最適化される箇所の見つけ方について見ていきます。 Node.jsのパフ […]

base-64よりもスペース効率の良い方法。GitHub レポジトリ 1 概要 バイナリをテキストに変換するエンコード方式としてのbase-64は、そのデータ量を33%増大させます。この記事では、UTF-8のテキスト変換 […]