憂鬱な午後のひととき

2月25日_

256bit用square

昨日, 夜中思いついて実装してみたら速くなった. なんで10年前に思いつかなかったかな. 384bitでも試してみる.

2月24日_

inv

Fp6::invとFp12::inv少しだけ改良. 2.336Mclk

wasm用のmulを書き直してみたけど速くならなかった. sqrは速くなったもよう.

2月23日_

Fp2Dbl

mulPreやsqrPreの改善とasmコードの統合.

2月21日_

sub

分岐は無くした方がよかった. マイクロベンチマークでは分岐ありのほうが速かったけどグローバルでは遅くなる. 難しいな.

2月20日_

『さびしい女神』(仁木英之)

スケールの大きい話だった. SFチックなところが好み.

2月19日_

リファクタリング

Fp::addのコード生成まわりがすっきりしてきた. 次はsub. レジスタ一つ足りないのどうしようかな.

2月18日_

Travis-ci

GitHub Actionに移行したいのだけど勉強する心の余裕が今ないのでとりあえずtravis.comに移動した.

clang-11の_ExtIntがすごくてもうこれでいいんじゃないかという気がしている.

2月17日_

Fp6::sqr

何故かFp2Dblを使った最適化をしていなかったので修正. あとFp2Dbl::mul_xiも追加. いろいろ書き散らかしてるのでコードまとめないと. inline化してるところもcallにまとめたほうがキャッシュ効率よくなりそう.

2月16日_

Fp6::mulその2

昨日の「昔やって無かったかな」は勘違い. 今回はFp2なのでちょっと違った. でも同様の方法を使って少し速くなった.

2月15日_

Fp6::mul

一部のadd/sub時のmodを減らせるところを見つけた. 昔やって無かったかな. 再発見? 大分前で覚えてない.

2月14日_

地震

もう布団に入って寝ていたので驚いた. 結構長い時間揺れたな.

コード整理3 : 実験のために作っていたecdsaのコードを別のところに移動した.

2月13日_

コード整理2

もう古いの消してよいのかな. とりあえず消してみて文句が来たら復活することにしてみるか.

2月12日_

コード整理

言語バインディングってどう提供するのがよいのかな. 最初は一カ所にまとめていたけど言語ごとのディレクトリ作法というのがあるから結局それぞれレポジトリを作る感じになってコードのコピペになってしまってる.

2月11日_

mul2

ちょっとでも速くならないか試すために2倍算関数を追加. 置き換えられる部分を探していく.

2月10日_

眼鏡と頭痛

去年末に目医者で目の精密検査と眼鏡の度の測定をしてレンズを作り直した. 今までは度がきつ過ぎたらしい. それまでは何年もずっと頭痛が酷くて月8回以上痛み止めを飲んでいたのが今年は今日が初めて.

去年までどれだけ度があっていなかったかと, 今回えらく根詰めたことが分かる. 気をつけよう.

2月9日_

Fp2::mulの高速化

昔測定したときはadcが使えるときはその方がよかったとはずなのだがadcxにしたらちょっと速くなった. ペアリングでも数%変わるのでこれは大きい.

JITをstatic化するときに古いCPUで落ちるバグが入り込んでいた. やっぱりコード整理しないとな.

2月8日_

mclの最適化

ここしばらくmclの多倍長演算の最適化見直しをしていた. フラグの扱いを見直してFp::mulやFp::montが速くなった.

いろいろなパラメータやオプションに対応するためにだいぶごちゃごちゃしてるので整理したい. wasm向けの最適化も調整中. とりあえずペアリングが1割ほど速くなった. もう少しがんばらないと.

2月7日_

毎日

変化が無いのでいつのまにか時が過ぎてる. GitHubの履歴をみると細々とやってはいるようだが. しばらくちゃんとメモを更新していこう.

2月3日_

『賞金稼ぎスリーサム!』(為替七緒)

面白かった. 元警官, 猟師, 警察ストーカーの組み合わせはすごい. 猟師なのに一度も発砲してないのもよい.


御意見は光成滋生<herumi@nifty.com>までお願いします