私はいつもオリジナルのuTorrentプログラムを賞賛してきました。それは素晴らしく、64kb以下であり、非常に高速で、必要な機能をすべて備えていました。残念ながら、プログラムはクローズソースであり、その日までにはもっと肥大化しているので、私はインスピレーションのためにStackoverflowに来る。スリムなC++プログラム(uTorrentなど)をWindows用にプログラミング
Windows上で高速でメモリ効率の良い優雅なプログラムを書くにはどのような方法をお勧めしますか?
C#(と.NETのコンセプト全体)はクールなアイデアですが、オリジナルのuTorrentクライアントのように、Windowsプラットフォーム用の効率的で高速なソフトウェアを作成するという「純粋な」回答と課題にもっと興味があります。私は自分自身のメモリを割り当てること、私自身のガベージコレクションをすること、自分のデータ構造を作ることは気にしません。
私のシステムにもっとカフェインを摂取するための書籍、記事、図書館、IDEに関する推奨事項(歓迎)
笑、カフェインの部分が私を笑わせてくれました。まあ、私は答えはないと思っていますが、ハードコアの純粋主義者たちが組立に向かうことは知っていますが、組立の際に奔流のクライアントほど複雑なものをプログラミングするのは不可能なことでしょう。私はあなたが自分のコードを書いていれば(ライブラリを使わずに)、64kb以下のC/C++プログラムを簡単に手に入れることができると思います。あなたがアセンブリで書いたのであれば、おそらく1kb以下でそれを取り除くことができます。 – ldog
AFAIK uTorrentはコンプレッサーを搭載しているため、物理的なサイズが小さいです。しかし、実行時には圧縮解除され、より多くのメモリを使用します。小さな実行可能ファイルのサイズは、多くのライブラリ、特にC++の標準ライブラリとストリーム機能の使用を避け、プログラム専用に作成された代替ファイルを作成することによって実現されます。 (ウィキペディアの記事を参照してください) – Vanuan
Vanuan: "はるかに多くのメモリ"は少しのストレッチです。実行可能なパッカーは通常、最大50%の圧縮率を達成します。したがって、μTorrentをメモリに展開して実行するには、これを実行するには約500 KiBが必要です。今日のマシンではほとんど役に立たない。 – Joey