Re: 今ホットな話題

投稿ツリー


このトピックの投稿一覧へ

なし Re: 今ホットな話題

msg# 1.1
depth:
1
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2010/10/13 15:29
tama  一人前   投稿数: 111
std.base64ですが,byLineとかのチャンクに対してエンコード / デコードできる機能はつけました(これ自体はバッファリングとか自動化できるのでまぁあってもいいかなという感じです).今問題になってるのはchar一文字ずつ取り出すRange対応ですね.

俺自身はこれにはかなり懐疑的で,何でもRange症候群が発症しているんじゃないかとちょっと乗り気じゃないです.現にDanielの実装を見れば,内部にバッファを持っていてかなりややこしくなってます.で,これを使って'decode(enode(cast(ubyte[])"f"));'と同じ結果のコード(encode -> buffer確保 -> copy,decode -> buffer確保 -> copy)でbenchmark!をしてみると,470msecと1240msecくらいで,約3倍弱くらい遅くなってます.
確かに一文字ずつのRangeがあればstd.algorithmとかで使い回せるメリットはありますが,Base64自体にそこまでの汎用性が必要かと言われると…

という感じなので,Encoderの一つしてサポートしたいなというのが現状です.Danielはencode / decodeがRangeを返すべき,という考え方っぽいですが,Base64を使う側からすればalgorithmとかと一緒にしないとまともに結果を取得できないというのはなんかアホらしいので,この辺はなんとかガードしたい所です.
投票数:33 平均点:7.58
返信する

この投稿に返信する

題名
ゲスト名
投稿本文

  条件検索へ


メインメニュー

ログイン

ユーザー名:


パスワード:





パスワード紛失  |新規登録

Menu