タグ

ブックマーク / constellation.hatenablog.com (2)

  • Diff algorithm - 枕を欹てて聴く

    id:smoking186 さんの指摘を受け, First Authorの名前などを付加しました. どうもです. 記事内のcodeは最適化などを施しておらず, 冗長に, 定義どおりに書いています. ifがまとめられたりとかしますが, そのあたりはご容赦を... Rubyでlevenshtein距離を見て以来, 個人的にdiffブームが来ていた. 計算量O(ND) / O(NP)のalgorithmなどがあるのは知っていたが, 論文(英語)および, 解説のみ, またはソースコードのみなど分かれているものが多く, algorithmに疎い自分には理解するのに大変時間がかかってしまった. しかしやっとわかったので, 解説+JS実装してみる. 解説とソースコードがセットだと, 多少はわかりやすくなるかと... 自分は正直これくらい細かく言われないとすぐにはわかんない人なので(the O(ND)だけ

    Diff algorithm - 枕を欹てて聴く
  • NaN boxing - 枕を欹てて聴く

    書いておかないと将来自分が意味不明になるので, NaN boxingについて. LuaJITが古くから(wingologさんの素晴らしい記事によると), JSCが前から, SpiderMonkeyはfatvalsで, NaN boxingすることによりJSValを64bitに収めることを行っています. iv / lv5は以前から32bit SystemにおけるNaN boxingは実装していましたが, 64bit SystemにおけるNaN boxingは行っていませんでした. しかし先ほど, 64bit NaN boxing in 64bit Systemが入り, 現在, Solaris以外のOSにおいてはsizeof(JSVal)が常に64bitになりました. というわけでNaN boxing memo. 32bit / 64bitともに. value representation i

    NaN boxing - 枕を欹てて聴く
  • 1