2011-01-13 2 views
10

나는 가능한 한 많은 컴퓨터 성능 (CPU 성능, CPU - 메모리 링크 성능)을 죽일 수있는 C# 코드를 찾고 있습니다 (4 코어 상자에서 실행됩니다) 그래서 4 개의 쓰레드를 생성하고 동시에 실행시킬 것입니다.)컴퓨터 성능을 죽일 수있는 코드 조각

int/double/numeric 데이터 유형/일부 미친 데이터 구조가 있어야합니다 (하지만 너무 많은 메모리를 가져서는 안 됨).

의견이 있으십니까?

+15

'while (true) {}'? –

+0

@Klaus는 많은 메모리를 소비하지 않습니다. – marcog

+0

@Klaus - 아마도 단일 프로세서 만 차지할 것입니다. – Oded

답변

14

모든 프로세서를 사용하여 PI을 계산하십시오.

+6

스타 트렉에서 일 했으므로 잘될 수 있습니다. – RQDQ

+0

@RQDQ - 그 에피소드를 놓친 것 같습니다. – Oded

+1

아마도이 하나 : http://www.youtube.com/watch?v=H20cKjz-bjw –

1

예를 들어 64 개의 여왕에 대한 N 개의 퀸즈 (wikipedia 참조)의 무작위적인 해결.

이 같은 간단한 루프 (때로는 단지 이미 실행 몇 분) 거리를 최적화 할 수 있기 때문에 :

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

최적화를 막기 위해 '휘발성'으로 선언하십시오. – finnw

+0

@finnw : 내가 글로벌 필드이고 휘발성이더라도 여전히 최신 JVM (또는 미래의 JVM)이이 코드가 단 한 번만 실행된다는 것을 감지하여 로컬 변수로 만들 수 있으므로 휘발성이 무의미 해집니다. –

+0

이것은 .NET 질문입니다.하지만 VM이 다른 클래스가 나중에로드되지 않아서 리플렉션으로 'i'를 읽지 않을 수 있다는 것을 알 수 없으므로 Java에 대해서도 잘못 생각한다고 생각합니다. – 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

나는 말을하십시오 naieve (무력) 판매원 구현 여행 :

(from wikipedia) :

외판원 문제 (TSP)이 작업에서 공부 조합 최적화의 NP-어려운 문제를 연구 및 이론 컴퓨터 과학. 도시 목록과 쌍 거리를 감안할 때, 각 도시를 정확히 한 번 방문하는 가능한 가장 짧은 여행을 찾는 것이 과제입니다.

3

왜 바퀴를 다시 발명합니까? 기존 Load Testing software을 사용하십시오.

+0

아니요 사용자 지정 솔루션이어야합니다. – Darqer

+3

@ Darqer- "맞춤식이어야합니까?" 문제를 푸는 데 왜 그런 종류의 제약을 두어야합니까? 나는 네가 아니라 컴퓨터 시간 낭비하고 싶다고 생각했다. – AShelly

+0

나는 간단한 tcp/ip call을 통해 그것을 제어 할 수 있어야한다. 글쎄, 내 자신의 그것을 구현하는 재미있을 수도 초 :) 프로그래밍 재미있는 종류의 :) – Darqer

1

좋아, 어떻게 StackOverflow의 정신에 어떤 무한 재귀?

void deathToAllRobots(int someMeaninglessValue) { 
    deathToAllRobots(someMeaninglessValue+1); 
} 
관련 문제