haskell-jp / random #88 at 2021-03-16 09:32:29 +0900
Back to random #88
maoe
2021-03-16 09:32:29 +0900
数年前にHsOpenSSLに比べてtlsがかなり遅かったので少しコードを見てみたら、cryptoniteかmemoryかbasementか忘れましたがあまり速度を気にせず書かれている感じでした。あれからあまり変わっていないのであれば、速度を気にするところで使うならパフォーマンスチューニングが必要かもしれません。
Hiromi ISHII / mr_konn
2021-03-16 11:03:19 +0900
basementとかfoundation、効率のために標準的なbytestringやtext、vectorに当たるものを全部自前で実装してbaseのStringなどを置き換えているという認識だったんですが、そんなに速くないんですか……。
Hiromi ISHII / mr_konn
2021-03-16 11:05:06 +0900
個人的には、欲しいと思ったライブラリがbasementやfoundationに依存していると、baseやbytestringなどの既存のエコシステムと役割が被りしかも変換にcompat layerが必要な巨大ライブラリが別途インストールされてしまうので、極力basementやfoundationに依存しているパッケージは避けてきた経緯があり、メンテナが変わるならこの辺なんとか既存のエコシステムと整合性を取る方に舵がきってくれないかな……と思っています
Hiromi ISHII / mr_konn
2021-03-16 11:07:38 +0900
個人的にはrioのように既存のエコシステムを組み合わせて代替Preludeを作るアプローチの方が筋が良い気がしているんですよね
maoe
2021-03-16 11:11:45 +0900
以前はtlsかその依存ライブラリで不要なthunkをたくさん作るようなコードが散見されたのですが、おぼろげな記憶でこういうことを言うのは良くなかったですね。すみません。性能については現在のコードを確認してみないと確かなことはわかりません。
maoe
2021-03-16 11:12:25 +0900
既存のエコシステムとの親和性に関しては同感です
2021-03-16 11:14:19 +0900
https://labs.gree.jp/blog/2015/12/14786/
だいぶ古いですが5倍くらい性能の違いがでましたね。
tlsとHsOpenSSLは。
Back to random #88