2ちゃんねる スマホ用 ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

Swift part9

460 :デフォルトの名無しさん (ワッチョイ 5f93-+flj):2017/01/09(月) 00:00:23.02 ID:eHS8l2Ef0.net
>>446
300MByteなら躊躇せずオンメモリで処理するかな?
1GByteならちょっと悩んでストリーム処理にするけどそれは実際に1GByteのファイルを喰らってから考える
遅くなるだけで処理としては破綻してないし

enumerateLinesでイテレート処理してれば
ストリーム処理にする場合でも行単位で文字列を取り出せるイテレータを定義するだけで
後段はそのまま使えるから移行は比較的楽

逆に
Cの関数で4095バイトとかバッファサイズで打ち切られちゃうと
4095文字以上の行に対応させるには
バッファの確保やマルチバイト文字の整合性とか色々考えるのが面倒


要するにCで書いてもSwiftで書いても簡単に書けるのは入門書のサンプルプログラムレベルのもので
細かいチェックを入れるとどちらもそこそこ書き込みが必要

その上で
1行が4095文字を超えると破綻するCの関数がいいと思うか
巨大ファイルを渡されると処理速度が遅くなる可能性のあるSwiftの標準関数を使うか
と言うだけの話だと思うよ

で、Swiftでプログラム書いてる途中でこの処理が必要なら
俺ならSwiftで書く方を選ぶと思う

総レス数 1000
303 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★