大量の `tolower()` を高速に実行する
(dotat.at)- DNSサーバーはしばしばドメイン名を小文字に変換する必要がある
- BINDは既存のDNS値を保持する必要があるため、もう少し作業が必要
- SWARを
tolower()に適用してみることにした
→ SIMD within a register : 1つの命令でレジスター内の複数データを並列演算すること uint64_tに入れた8個のASCII文字を処理するtolower8関数を作成
→ 実装したCコードの各行の説明は原文を参照- 性能
0.098 ms memmove() copy
0.399 ms tolower8() copy
1.817 ms tolower() copy
0.280 ms tolower8() compare
2.090 ms tolower() compare
まだコメントはありません。