問題タブ [large-files]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - stream_filter_* を使用して PHP で大きな (1 ギガを超える) ファイルを処理する
これを実行すると、わずか 35MB のファイルを処理しただけで、スクリプトは最大 200 MB の RAM を消費してしまいます。
stream_filter なしで実行すると、約 10 MB の一定のメモリ フットプリントで圧縮されます。
何を与える?
xml - 非常に大きなドキュメントの Delphi での可能な限り高速な XML 処理
非常に大きな XML ファイル (100 MB など) をできるだけ速く処理するために、Delphi (私は Delphi 2009 を使用しています) で何を使用すればよいかについての推奨事項が必要です。
XML を入力し、プログラムから XML 内のデータにアクセスして更新し、変更した XML を再度エクスポートする必要があります。
うまくいけば、高速な Windows マシンで数秒以内に入力と出力を行うことができます。
説明。レポートを作成し、データを更新するためにデータ構造にアクセスすることが重要であり、この機能を非常に高速にする必要があるため、DOM を使用する必要があると思います。
入力はファイルのロードに対して 1 回だけ行われ、出力はファイルの保存に対してのみ行われ、通常は終了時に 1 回だけ行われます。これらも高速である必要がありますが、メモリ内データへのアクセスと更新ほど重要ではありません。
私の理解では、サードパーティのパーサーは入力と出力にのみ役立ちますが、メモリに読み込まれたデータの使用と変更には役立ちません。それとも私はこれで間違っていますか?
php - PHP で大きなファイルを読み取る最良の方法は?
10 ~ 20 MB の CSV ファイルを 1 行ずつ読み取る必要があります。file()
は役に立たないので、最も速い方法を見つけなければなりません。
で試してみましfgets()
たが、問題なく動作しますが、呼び出すたびに小さなブロックを読み取るのか、大きなブロックをキャッシュしてファイル I/O を最適化するのかわかりません。fread()
自分で EOL を解析する方法を試す必要がありますか?
c# - ASP.NET で大きなファイル転送を処理する場合、どのような予防措置を講じる必要がありますか?
私の ASP.NET アプリケーションでは、ユーザーが大きなファイルをアップロードおよびダウンロードできます。どちらの手順にも、ファイル ストリームの読み取りと書き込みが含まれます。大きなファイルを処理するときにアプリケーションがハングまたはクラッシュしないようにするにはどうすればよいですか? たとえば、ファイル操作はワーカースレッドで処理する必要がありますか?
asp.net - .NET で大きなファイルをアップロードする
大きなファイルのアップロードに使用でき、プログレス バーがあり、大きなファイルのアップロードを再開できる .NET 用のアップロード コンポーネントを見つけるために、かなりの調査を行いました。いくつか例を挙げると、 AjaxUploader、SlickUpload、PowUploadなどのコンポーネントに出くわしました。これらのオプションにはそれぞれ費用がかかり、再開可能なアップロードを行うのは PowUpload だけですが、Java アプレットを使用して行います。これらのことをうまく行うコンポーネントにお金を払っても構わないと思っていますが、それを自分で書くことができればそれが最善です。
2 つの質問があります。
- flash/java/Silverlight を使用せずに、クライアントでファイルのアップロードを再開することはできますか?
- ストリーミング アップロードと ajax プログレス バーを許可する .NET HTTPHandler の記述方法を説明するコードまたは記事へのリンクを持っている人はいますか?
ありがとう、
オースティン
[編集]
プロジェクトで再開可能なファイルのアップロードを実行できるようにする必要があることに気付きました。それを実行できるコンポーネントの提案はありますか?
filesystems - 空きディスク容量がほとんどない状態で 2 つの巨大なファイルを連結するにはどうすればよいでしょうか?
連結したい 2 つの巨大なファイル (数 GB) があり、空きディスク容量がほとんどない (数百 MB としましょう) とします。つまり、与えられたfile1
と、バイトごとに連結して一緒file2
にした結果である単一のファイルになり、元のファイルを削除します。file1
file2
cat file2 >> file1; rm file2
2 つの操作の合間にディスク容量が不足するため、明らかな を行うことはできません。
無料または非無料のツールを使用したあらゆるプラットフォームでのソリューションを歓迎します。これは、先日 Linux ISO をダウンロードしているときに思いついた架空の問題で、ワイヤレスの問題によりダウンロードが途中で中断されました。
perl - Perlでファイルの終わりから行を読み取るにはどうすればよいですか?
私はCSVファイルを読み取っていくつかの計算を行うPerlスクリプトに取り組んでいます。CSVファイルには次のような2つの列しかありません。
現在、このCSVファイルは非常に大きく、10MBから2GBまで可能です。
現在、サイズ700MBのCSVファイルを使用しています。このファイルをメモ帳で開こうとしましたが、Excelで開くソフトウェアがないようです。
CSVファイルの最後の1000行を読み、値を確認したいと思います。どうやってやるの?メモ帳やその他のプログラムでファイルを開くことができません。
Perlスクリプトを作成する場合は、ファイル全体を処理してファイルの終わりに移動し、最後の1000行を読み取る必要があります。
それへのより良い方法はありますか?私はPerlを初めて使用するので、提案をいただければ幸いです。
ネットで検索しましたが、次のようなスクリプトが利用できますFile::Tail
が、Windowsで動作するかどうかわかりません。
python - Pythonで多数のxmlファイルから情報を抽出する最も効率的な方法は何ですか?
いくつかのフィールドの内容を抽出する必要がある XML ファイルでいっぱい (~10 3、10 4 ) のディレクトリがあります。私はさまざまな xml パーサーをテストしましたが、コンテンツを検証する必要がない (高価な) ため、単純に xml.parsers.expat (最速のもの) を使用してファイルを 1 つずつ抽出することを考えていました。データ。
- より効率的な方法はありますか?(単純なテキスト マッチングは機能しません)
- 新しいファイル (または文字列) ごとに新しい ParserCreate() を発行する必要がありますか?それとも、すべてのファイルで同じものを再利用できますか?
- 注意事項はありますか?
ありがとう!
c# - .NET を使用して UNC パスからバイト配列に大きなファイルを読み取る IOException
次のコードを使用して、大きなファイル (280Mb) を UNC パスからバイト配列に読み取ろうとしています。
これは、次のエラーで爆発しています。
ローカル パスを使用してこれを実行すると、正常に動作します。私のテスト ケースでは、UNC パスは実際にはローカル ボックスを指しています。
ここで何が起こっているのですか?
c# - 10 GB を超える非常に大きなテキスト ファイルの最後の 10 行を取得する
非常に大きなテキスト ファイル (この特定のファイルは 10 GB を超えます) の最後の 10 行を表示する最も効率的な方法は何ですか。シンプルな C# アプリを作成することだけを考えていましたが、これを効果的に行う方法がわかりません。