Wie die meisten Menschen zustimmen, ist es keine gute Idee , Entwickler zu ermutigen, schnellen Code zu erstellen, indem sie langsame Maschinen bereitstellen . Aber in dieser Frage steckt ein Punkt. Mein Entwicklungscomputer ist schnell, und deshalb schreibe ich gelegentlich Code, der beunruhigend ineffizient ist. Dies wird jedoch erst deutlich, wenn er auf Computern anderer ausgeführt wird.
Was sind einige gute Möglichkeiten, um eine turbogeladene Entwicklungsmaschine vorübergehend zu verlangsamen? Der Begriff "Geschwindigkeit" umfasst mehrere Faktoren, zum Beispiel:
- CPU-Taktfrequenz.
- Anzahl der CPU-Kerne.
- Arbeitsspeicher und Prozessor-Cache.
- Geschwindigkeit verschiedener Busse.
- Festplatten-E / A.
- GPU.
- etc.
efficiency
Joonas Pulakka
quelle
quelle
Antworten:
Führen Sie Ihre Tests in einer virtuellen Maschine mit begrenztem Arbeitsspeicher und nur einem Kern aus.
Die alten Maschinen, die die Leute vielleicht noch haben, sind hauptsächlich Pentium 4-Ära-Dinge. Das ist nicht so unrealistisch - ich benutze gerade selbst eine. Single-Core-Leistung auf vielen aktuellen PCs ist normalerweise nicht so viel besser und kann schlechter sein. Die RAM-Leistung ist in vielerlei Hinsicht wichtiger als die CPU-Leistung. Wenn Sie die Leistung etwas strenger einschränken als bei einem alten P4 mit 1 GB, können Sie dies ein wenig ausgleichen.
Andernfalls kaufen Sie ein Netbook, wenn Sie bereit sind, ein bisschen Geld auszugeben. Führen Sie die Tests dazu durch.
quelle
Die Möglichkeit, signifikante Ineffizienz von Algorithmen zu erkennen, besteht darin, Ihr Code-Profil zu erstellen. Um eine Überlastung des Arbeitsspeichers abzufangen, müssen Sie zunächst verstehen, wie viel Arbeitsspeicher Ihr Ziel verwendet, und dann entsprechend entwerfen und regelmäßig in dieser Umgebung testen.
Wenn Sie Thread-Code schreiben, hilft das Testen auf mehreren Computern mit unterschiedlichen CPU-Geschwindigkeiten dabei, bestimmte zeitbezogene Fehler in Ihrer Thread-Behandlung hervorzuheben, aber ein aggressives Testen der Thread-Logik in Einheiten ist ein Muss.
quelle
Alles, was Sie tun, um Ihre Maschine zu verlangsamen, wäre wahrscheinlich ein Hack.
Hier einige Vorschläge:
quelle
Installiere Virtual PC , erstelle ein Hardwareprofil , erstelle eine virtuelle Maschine und beginne zu spielen :)
quelle
Erkenne, dass dies eine ziemlich alte Frage ist, aber für alle anderen in dieser Situation; Sie könnten CPUKiller versuchen. Im Grunde ist es eine kleine App, die Sie so konfigurieren können, dass sie verschiedene% s Ihres Prozessors verbraucht. http://www.cpukiller.com/
quelle