http 経由で大量のデータをアップロードするプログラムを作成しています (具体的には Amazon Glacier ですが、それは関係ありません)。メモリのオーバーヘッドを削減する方法を検討しています。
現在の状況は基本的に次のとおりです。 - メモリ内のファイルの一部を読み取り、 - ファイルをサーバーにアップロードします。
問題は、一部が大きく、最大 4096 MB であり、すべてを RAM に格納するのは単にメモリの浪費であることです。メモリを 1 MB 以下に削減する方法を探しています。
私は見てきました
HTTPConnection.request(メソッド、url[、ボディ[、ヘッダー]])
body は開いているファイルである可能性があります(これをメモリにコピーする必要はありません。ディスクから読み取るだけで問題ありません):問題は、ファイル全体を一度に送信するのではなく、そのファイルの任意の部分を送信したくないことです。ただし、データのその部分だけで新しいファイルを作成するまでは、これを処理する方法がわかりません。