2011-01-13 3 views
10

私は、可能な限りコンピュータの性能(CPU性能、多分CPU - メモリリンク性能)を殺すことができるC#のコードを探しています(4コアボックス4つのスレッドを作成して同時に実行します)。コンピュータの性能を殺す可能性のあるコードの一部

int/double/numericデータ型/それに狂ったデータ構造を持たなければなりません(しかし、あまりにも多くのメモリを取るべきではありません)。

ご意見はありますか?

+15

'while(true){}'? –

+0

@Klausは大量のメモリを消費しません:) – marcog

+0

@Klaus - おそらく1つのプロセッサしか占有しません。 – Oded

答えて

14

すべてのプロセッサを使用してPIを計算します。

+6

それはStar Trekで働いていて、あなたのために働くことができます。 – RQDQ

+0

@RQDQ - 私はそのエピソードを見逃しているに違いない。 – Oded

+1

おそらくこの1つ:http://www.youtube.com/watch?v=H20cKjz-bjw –

1

たとえば、64人の女王のN個のクイーンズ(wikipedia参照)のブルートフォース解決。

このような単純なループが(時にはのみ、すでに実行されている数分後に)離れて最適化することができるので:

while(true) { 
    i++; 
} 
+0

最適化を防ぐために 'i'をvolatileとして宣言する – finnw

+0

@finnw:iがグローバルフィールドであり、iがvolatileであっても最新のJVM(または将来のJVM)が、このコードが一度だけ実行されることを検出し、そのためにローカル変数にすることができ、そのため揮発性が無関係になる可能性があります。 –

+0

これは.NETの質問ですが、私はあなたがJavaについても間違っていると思います。なぜなら、VMは別のクラスが後でロードされず、リフレクションによって 'i'を読み込むことができないことを知ることができないからです。 – finnw

0
int *x; 
while(1) 
{ 
    x = new int[10]; 
} 
+8

C# –

+5

とよく似ていません。コンパイラはおそらくこれも最適化します。 – marcog

2

が素数の長いシーケンスを計算します。次のリンクは、これを実行するように変更することができるコードが含まれています。..

Program to find prime numbers

1

2048ビットなどのキーで暗号化された非常に長い暗号化メッセージを解決することもできます。 それは殺人者です。

4

マシンのパフォーマンスを犠牲にしたい場合は、IO割り込みが優れたCPUスケジューラであってもすべてに影響を与える傾向があるため、ディスクを叩いてみてください。多くの小さなファイルのディレクトリを列挙したり、大きなファイルをディスクにたくさん書いたりするのは、このトリックです。

+0

Windowsディレクトリを列挙するような列挙型の素晴らしいアイデア、HDDの提案は何ですか? – Darqer

+0

ここに他の提案を組み合わせて出力をファイルに書き込むことができます。すべての書き込みの間にバッファをフラッシュして、実際にメモリに留まるのではなく、実際にディスクに書き込むようにしてください。 –

+0

ディスクIOによってシステムパフォーマンスを低下させるアプリケーションがいくつかありますが、単純にそれを実行するとすべてが停止しますが、単純な読み取り書き込みの優先度が低すぎる可能性があります – Darqer

4

実行可能ファイルのコピーを各スレッドのドライブに複数回書き込むプログラムがあります。プログラムのこれらのコピーをそれぞれプログラムによって起動させてください。 :)

+0

hehe、それを停止する方法は? :) – Darqer

+1

それはまったく別の質問です。 :P – GWLlosa

+2

コンピュータが停止すると停止する – Poindexter

1

非常に複雑な照明シーンをレンダリングするオープンソースのマルチスレッド3Dモデリングプログラムは、最も強力なシステムを提出することになります。

2

私が言う:

from wikipedia)::naieve(ブルートフォース)がセールスマンの実装を旅

巡回セールスマン問題(TSP)は、業務で研究組合せ最適化におけるNP困難な問題です研究と理論コンピュータサイエンス。都市とそのペアワイズ距離のリストが与えられれば、各都市を正確に一度訪れる最短の可能なツアーを見つけることです。

3

なぜホイールを再発明するのですか?既存のLoad Testing softwareを使用してください。

+0

いいえ、カスタムソリューションでなければなりません。 – Darqer

+3

@ Darqer-「カスタムでなければなりませんか?なぜ問題を解決するには、そのような制約を置くのですか?私はあなたのコンピュータではなく、コンピュータの時間を無駄にしたいと思っていました。 – AShelly

+0

私は単純なtcp/ipコールでそれを(オン/オフにして)制御できる必要があります。まあ、それは私自身で実装することは面白いかもしれません:)プログラミングの楽しみの種類:) – Darqer

1

さて、StackOverflowの精神の中でいくつかの無限の再帰はいかがですか?

void deathToAllRobots(int someMeaninglessValue) { 
    deathToAllRobots(someMeaninglessValue+1); 
} 
関連する問題