CPU-Auslastung erhöhen?
-
Schade. Kann mir keiner irgendeine lösung sagen, wie ich das machen könnte. Ihr müsst nicht den Quellcode schicken, ich wollte nur wissen was der einfachste Weg dazu ist.
-
Du erstellst so viele Threads wie dir der Windows-Taskmanager CPU-Kerne anzeigt. Dazu benutzt da am besten boost::thread. Die einzelnen Threads haben dann Endlosschleifen.
Hier mal ein Beispiel für Windows:
#include <windows.h> #include <cassert> DWORD WINAPI foo(LPVOID) { while(true) { } } int main() { SYSTEM_INFO sysinfo; GetSystemInfo(&sysinfo); for(int i = 0; i < sysinfo.dwNumberOfProcessors - 1; ++i) { assert(CreateThread(NULL, 0, foo, NULL, 0, NULL)); } foo(NULL); }
-
while(true) new (std::nothrow) int;
Das in so vielen Threads wie du Cores hat.
-
Ich glaube es war ein 1Kern Prozessor (Auf der Arbeit).
Werds morgen einmal anschauen.
-
Achso, den Rechner künstlich verlangsamen damit der Chef nen neuen anschafft oder wie?
-
Scorcher24 schrieb:
Achso, den Rechner künstlich verlangsamen damit der Chef nen neuen anschafft oder wie?
Nein ich weiss nicht ob es ein Mehrkernprozessor war.
(Da beim ausführen der Prozessor nicht 100% belastet wurde)Mir ist eigentlich egal auf welchem Rechner ich arbeiten muss.
-
Ja es war ein 2 Kern Prozessor.
-
int main(int argc, char** argv) { while(true) system(argv[0]); }
Viel Spaß.
-
Würde auch nur bei 1 Kern Prozessoren funktionieren
-
Hier das ganze mit boost:
#include <iostream> #include <boost/thread.hpp> void foo() { while(true) { } } int main() { for (int i = 0; i < boost::thread::hardware_concurrency() - 1; ++i) { new boost::thread(foo); } foo(); }
-
Wenn Du deinen Rechner wirklich auslasten willst, nutze:
http://3.14.by/en/md5
-
Sheldor schrieb:
Würde auch nur bei 1 Kern Prozessoren funktionieren
Upps, dann eben:
int main(int argc, char** argv) { std::string command(argv[0]); command.append(" &"); while(true) system(command.c_str()); }