[Python] 291 C言語実行ファイルの併用 その5 ハッシュ関数 FNV 64bit

ハッシュ関数fnvの32bitで競走馬名ハッシュ値の衝突が生じたため、64bitハッシュ値での検索処理時間を計測してみました。

やはり32bitの55秒に対し77秒と遅くなりました。

ハッシュ値検索にこだわるならばFNVでは32bitで運用するしかないですが、同一誕生年内での衝突はないので私の使い方では今のところトラブルになることはありません。

ところで、Excelで表をまとめていて64bit以上の整数を正確に表示できない問題に遭遇しました。仕方ないので文字列扱いにして解決しました。

他にも小数点数と整数の区別ができない、UTF-8のCSVファイルが基本文字化けする、数字とハイフンがあると勝手に日付と解釈する、など何かとプログラマ泣かせのソフトです。

macOSのNumbersでは64bit整数でも問題なく表示できます。今はなきLotus1-2-3はどうだったのか少し気になります。

情報科学においてunsigned long long integerを”符号なし長長整数”などといった日本語に翻訳していないのが不思議です。