約 1 GB のテキストを読み込むテストをしてみました.
1598 秒 (26.63 分) かかりました.
当然,32 ビットのアプリでは,読み込めません.
図の,読み込み中のメモリ消費量が 4.8 GB になっています.
32 ビットのアプリは,1 つのプロセスで使用可能なメモリは 2 GB ですから.
64 ビットアプリで,どの程度のサイズのテキストを読み込めるかは,
事実上,そのシステムで使用可能なメモリ量によります.
環境は,Windows 7 U64(SP1) + Delphi XE2 VCL-64 です.
テストに使用したコードは,次の通りです.
uses に MMSystem が必要
//=============================================================================
// TMemoにテキストファイルのテキストを読み込む
//=============================================================================
procedure TForm1.Button1Click(Sender: TObject);
var
FileName : String;
StartTime : Cardinal;
aTime : Cardinal;
begin
OpenTextFileDialog1.Filter := 'テキストファイル|*.txt';
if not OpenTextFileDialog1.Execute then exit;
FileName := OpenTextFileDialog1.FileName;
StartTime := timeGetTime;
Memo1.Lines.Clear;
Memo1.Lines.LoadFromFile(FileName);
aTime := timeGetTime - StartTime;
Panel1.Caption := IntToStr(aTime div 1000);
end;
|