Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   "Programm-Bremse" gesucht (https://www.delphipraxis.net/151509-programm-bremse-gesucht.html)

taaktaak 20. Mai 2010 15:14


"Programm-Bremse" gesucht
 
Moin, Moin.

Eigentlich bin ich nicht der Meinung, dass mein PC überdurchschnittlich schnell ist - aber manchmal wünsche ich mir, die Geschwindigkeit doch stufenweise reduzieren zu können um Schwachstellen im Source besser entdecken können.

Gibt es hierfür Tools, die empfehlenswert sind?

s.h.a.r.k 20. Mai 2010 15:17

Re: "Bremse" für PC gesucht
 
Darf man fragen, was die Reduzierung der Geschwindigkeit bringen soll? :gruebel: Denn davon wären dann auch alle anderen Programme betroffen. Ist sowas erwünscht?

Besser wäre es wohl die Software, auf einem älteren Rechner zu testen, die die älteren CPUs auch manche Features nicht haben. Ebenso sind damals die HDDs langsamer gewesen, konnten kein NCQ, der RAM war ein SD-/DDR(2)-Ram etc.

Ich weiß leider nicht, ob man evtl. sowas vielleicht über VirtualBox oder vergleichbare Virtualisierer einrichten kann.

taaktaak 20. Mai 2010 15:23

Re: "Bremse" für PC gesucht
 
Nun, ich habe bei der Vorbereitung von rzDelphhiGuide für die Windows-Themes in einer VM (und da läuft ja alles schon spürbar langsamer) so einige Schwachstellen im Bildaufbau feststellen und beseitigen können. Abgesehen vom grundsätzlichen Lerneffekt für mich, ist der primäre Wunsch, dass diese Auswirkungen schlechter Programmierung nicht bei einem Anwender, sondern schon in meinen eigenen Tests entdeckt werden.

edit: Nun kommt mir ein Gedanke: Könnte man nicht zu Testzwecken innerhalb des Programmes optional eine besonders arbeitsintensive Aufgabe (in einem Thread?) ablaufen lassen? Das würde dann nur das zu testende Programm selbst verlangsamen!

s.h.a.r.k 20. Mai 2010 15:26

Re: "Bremse" für PC gesucht
 
Würde dir daher wohl einen älteren Rechner anraten, da du neuere Hardware zwar bremsen kannst, aber wohl nicht die Ausführung einzelner Befehle. Kannst dir ja ein Netbook mit einem Atom-Rechner holen und via Remote-Desktop darauf zugreifen, aber selbst das Ding hat schon einiges an Leistung. Andere Idee wäre ein alter Thinkpad T40 oder so. Kostet 150€ und hat einen Centrino drin mit 1,5GHz (oder auch ein wenig mehr). Das sehe ich im Moment wohl als untere Grenze der genutzten Hardware an.

Aber um eine konkrete Antwort auf deine Frage zu liefern: so eine Software kenne ich leider nicht :mrgreen:

rapante 20. Mai 2010 15:29

Re: "Bremse" für PC gesucht
 
Hallo,

also mit CPU Speed Adjuster (oder so ähnlich) lässt sich der CPU-Takt drosseln.

OldGrumpy 20. Mai 2010 15:30

Re: "Bremse" für PC gesucht
 
Alte Hardware hätte ich noch reichlich im Sortiment bis runter zum 386SX :mrgreen:

taaktaak 20. Mai 2010 15:30

Re: "Bremse" für PC gesucht
 
Ok, einen langsamen Rechner zu Testzwecken nutzen ist natürlich möglich. Ich hätte es gern bequem und praktisch per Knopfdruck...

Wird so etwas also in der professionellen Programmentwicklung nicht genutzt?

edit: Joo, alte Platinen hängen bei mir einige an der Wand :mrgreen:

himitsu 20. Mai 2010 15:33

Re: "Bremse" für PC gesucht
 
Im Notfall (also was die CPU-Leistung angeht), könntest du die Prozess-/Thread-Prioritäten herabsetzen und paralell einen mit einem anderem Prozess (Programm) eine höhe CPU-Last erzeugen, das sollte dann schon bremsend wirken.

Aber ein alter gebrauchter PC sollte diesbezüglich wohl einfacher zu realisieren sein, vorallem da eine derartige Auslastung nicht representativ sein muß.

[edit]
da schreibt man mal etwas zu langsam und schon sind massig neue Beiträge da :shock:

Meflin 20. Mai 2010 15:34

Re: "Bremse" für PC gesucht
 
Angebrachter wäre da wohl, einen Profiler zu verwenden. Klingt zumindest für mich so. Da ist es ganz egal, wie schnell dein Rechner ist, du findest trotzdem heraus, was die meiste Zeit in deinem Programm beansprucht ;)

Der König der Profiler ist hier wohl AutomatedQA AQTime, ist aber auch unbezahlbar. Aber das könnteste du dir mal angucken: http://delphitools.info/samplingprofiler/

rollstuhlfahrer 20. Mai 2010 15:39

Re: "Bremse" für PC gesucht
 
Folgende Lösung hätte ich noch: Sag deinem Programm, dass es nur 1 CPU verwenden darf und lasse einen Thread in dem Programm möglichst viel Schwachsinn Produzieren, also Speicher allokieren, vollschreiben mit Zufallswerten, den Speicher leeren und wieder freigeben. Damit bremst du gleichzeitig in einer VM den virtuellen RAM aus.
So ganz per Knopfdruck geht das nicht. Du könntest aber im BIOS die CPU untertakten, wenn das geht. Mit dem Problem des Garantieverlustes würde ich dann nicht rechnen, weil du ja a) weniger Wärme erzeugst, weil weniger Rechenleistung da ist und b) die CPU ja nicht übertaktet wird. Das Ganze ist dann allerdings mit einem Neustart verbunden und auch nur mit einem weiteren Neustart wieder rückgängig zu machen. Wenn du dann die CPU untertaktest, läuft übrigens auch das OS langsamer -> Der Test wird weit zeitaufwändiger. Ich würde einfach nur die CPU auslasten, wenn keine alternative Hardware zur Verfügung steht.

Du kannst auch mal schauen, was passiert, wenn du deiner VM den RAM entziehst, also soweit, dass Windows laufend auf die HDD auslagern muss. Dann hast du einen permanent langsamen Arbeitsspeicher.

Bernhard

Edit: Eine niedrige Prozesspriorität finde ich auch passend.


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:41 Uhr.
Seite 1 von 3  1 23      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz