クリスマスの贈り物として、Javaで素数を計算する小さなプログラムを書きました。私の意図は、一晩置いて次の素数を計算し、それを.txtファイルに書き込むことです。朝、私はプログラムを終了し、.txtファイルを友人のためにクリスマスに持っていきました。
気になることはありますか?これは、あなたが話している真の初心者Ziggyであって、ASMの賢いエラーチェックではないことを覚えておいてください。
編集より具体的には、私はこのプログラムを一晩カウントする素数に残しているので、何らかのメモリ関連のエラーが発生する可能性はありますか?積み重なった山や犬と猫が一緒に寝ているのか?
さらに具体的には、ファイルのサイズが4GBのときに行の印刷を停止するために挿入できるコード行はありますか?安全のために?
編集:成功:終夜放置した後、13 KB以下の素数を取得しました。取得した最高値は22947217で、これは数万の素数のようなものです。成功!
おそらく、遅いアルゴリズムを使用しています。素数が大きくなると、プログラムは1つの素数を計算するのに時間がかかります。夜間に実行すると、テキストファイルは朝のサイズが大きくなりません。数メガ以上あれば感動します。
計算する素数ごとにSMSメッセージを送信することをお勧めします。あなたの友人は、紙の束よりもずっといいと思っています。さらに、彼はもっと頻繁に更新できます。
制限はたくさんありますが、.txtファイルに固有の制限はありません。
技術的には、ファイルシステムが配置するもの以外に制限はありません。ただし、メモ帳は、わいせつなサイズのファイルを開くことについて非常に不機嫌です。
各ファイルに書き込むバイト数を追跡し、数バイト後に新しいファイルに切り替えることを検討する場合があります。友達が彼の贈り物をより簡単に見られるように、ファイルのビューアを提供することもできます。 :)
メモリが機能する場合、FAT32には4ギガのファイル制限サイズがあります。
ジギー-
私はこれが大好きです:「ASMの人をチェックするスマートなエラーではありません。」あなたは私たち全員を説明しています!
十分なディスク容量を確保し、書き留めてください。前述のように、ファイルを開くために使用されるエディターが非常に大きなファイルを開くことができることを確認してください。
幸せな休日、真の初心者ジギー。
テキストファイルをディスクに保存する場所のサイズのみ。
そして、もしあなたがすぐにそれを書いていなければ、あなたの記憶+仮想記憶。
いくつかのCPUサイクルを節約して、事前に計算された 素数のリスト をダウンロードするのはどうですか?それとももっと「重要な考え」ですか? :)
素数ごとに1つのファイルを作成し、ファイル名を使用して数を表示するのはどうですか?
どういうわけか、プログラムを夜間に実行させる場合、数値が大きくなるにつれて素数を見つけるのに時間がかかることを考えると、ファイルサイズが問題になるとは思いません。クリーンアップを確認してください。そうしないと、RAMをすべて使い果たしてしまう可能性があります。
あなたの質問に答えるために:理論的には、ファイルシステムはファイルサイズを制限します。ただし、多くのテキストエディターは、大きなファイル(> 100 MB)をロードするときにクラッシュします(vimはそうではありません)。1つのバッファーに収めようとするためです。
要約すると、最も弱いリンク(テキストエディター)が処理できるチャンクにファイルを分割することを検討してください。