Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Heizi

Anmeldungsdatum: 19.01.2005 Beiträge: 309
|
Verfasst am: 11.11.2007, 19:45 Titel: Prozessorauslastung hochbekommen |
|
|
also ich hab da nen Programm geschrieben das rechnet und rechnet
und die CPU Last ist nur bei ~50%. Irgendwie hab ich so das
gefühl dass das Program doppelt so schnel laufen würde wenn
die CPU Last bei 100% wäre oder irr ich mich da vielleicht??
Hab schon versucht per Task-manager Priorität zu erhöhen funktoniert aber nicht, vielleicht hat wer ne idee??ß |
|
Nach oben |
|
 |
AndT
Anmeldungsdatum: 02.04.2007 Beiträge: 481
|
Verfasst am: 11.11.2007, 19:50 Titel: |
|
|
könnte das zufällig eine dual core cpu sein?
update:
wenn ja, dann wird wahrscheinlich nur ein core benutzt _________________ Bis irgendwann... 
Zuletzt bearbeitet von AndT am 11.11.2007, 20:14, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 11.11.2007, 20:10 Titel: Re: Prozessorauslastung hochbekommen |
|
|
Heizi hat Folgendes geschrieben: | und die CPU Last ist nur bei ~50%. Irgendwie hab ich so das
gefühl dass das Program doppelt so schnel laufen würde wenn
die CPU Last bei 100% wäre oder irr ich mich da vielleicht?? |
ich glaube, dass du dich da irrst. nur weil die auslastung bie 100% liegt, heißt das nicht, dass das programm jetzt unbedingt mehr macht. schneller wird dein programm, indem du die verwendeten codes beschleunigst und ausreizt. _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
Heizi

Anmeldungsdatum: 19.01.2005 Beiträge: 309
|
Verfasst am: 11.11.2007, 20:18 Titel: |
|
|
Danke für eure Antworten!!!!
@AndT
Ja, ist ne dual core... weiß aber nich wie ich 2 cores verwenden kann...
@JoJo
Das könnte natürlich auch sein, wär aber tortzdem cool wenn man durch nen
kleinen trick doppelt soviel Leistung rausholen könnte. |
|
Nach oben |
|
 |
PMedia
Anmeldungsdatum: 14.08.2006 Beiträge: 2847
|
Verfasst am: 11.11.2007, 20:24 Titel: |
|
|
Code: |
sub heizen(bla as any ptr)
do
loop 0
end sub
threadcreate(@heizen, 0)
threadcreate(@heizen, 0)
threadcreate(@heizen, 0)
threadcreate(@heizen, 0)
Do
Loop 0
|
Damit müsstest sogar nen Pentcore auf 100% bekommen - quick and dirty and untested - wie immer keine Gewährleistung |
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 11.11.2007, 20:50 Titel: |
|
|
NAja, man sollte immer nur maximal so viele Threads verwenden wie unabhängige Einheiten (ob jetzt Cores oder ganze CPUs ist ja egal) zur Verfügung stehen. Bei mehr steigt der Verwaltungs-Overhead und bremst das Ganze wieder aus. _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
MisterD

Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 11.11.2007, 23:50 Titel: |
|
|
man sollte auch bedenken wie viele threads die cpu hat, nicht nur die anzahl ;P _________________ "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra |
|
Nach oben |
|
 |
Heizi

Anmeldungsdatum: 19.01.2005 Beiträge: 309
|
Verfasst am: 12.11.2007, 00:27 Titel: |
|
|
Ja das wär ne Möglichkeit, aber da müsst ich mein Programm ja aufteilen.Gibts auch ne Möglichkeit dass beide cores an einem Thread rechnen?? |
|
Nach oben |
|
 |
PMedia
Anmeldungsdatum: 14.08.2006 Beiträge: 2847
|
Verfasst am: 12.11.2007, 03:01 Titel: |
|
|
Nein.
Sonst würden auch alle Renderprogrammhersteller nicht solch einen Aufwand betreiben und extra Multicore-Versionen ihrer Programme herausbringen... |
|
Nach oben |
|
 |
Heizi

Anmeldungsdatum: 19.01.2005 Beiträge: 309
|
Verfasst am: 12.11.2007, 08:13 Titel: |
|
|
KK,
da hätt ich mir ja geld sparen können indem ich mir nur nen single core cpu
rechner gekauft hätte...
Wenigstens kann ich dann noch nebenher andere Sachen machen....
MfG |
|
Nach oben |
|
 |
AndT
Anmeldungsdatum: 02.04.2007 Beiträge: 481
|
Verfasst am: 12.11.2007, 12:08 Titel: |
|
|
es gibt dualcoreoptimizer programme, bei singlethreadanwendungen können sie allerdings auch nichts anderes machen als ständig zwischen den kernen zu wechseln, was aber nicht unbedingt dazu führt, dass es schneller wird. _________________ Bis irgendwann...  |
|
Nach oben |
|
 |
Heizi

Anmeldungsdatum: 19.01.2005 Beiträge: 309
|
Verfasst am: 12.11.2007, 14:28 Titel: |
|
|
KK ich dacht dabei eher an nen einfachen Trick also etwas ohne großen Aufwand,alles andere wär auch unverhältnismäßig für mein Projekt.
Trotzdem danke für deine Antwort.
MfG |
|
Nach oben |
|
 |
csde_rats

Anmeldungsdatum: 07.01.2007 Beiträge: 2292 Wohnort: Zwischen Sessel und Tastatur
|
Verfasst am: 12.11.2007, 15:42 Titel: |
|
|
AndT hat Folgendes geschrieben: | es gibt dualcoreoptimizer programme, bei singlethreadanwendungen können sie allerdings auch nichts anderes machen als ständig zwischen den kernen zu wechseln, was aber nicht unbedingt dazu führt, dass es schneller wird. |
DualCoreOptimizer sollen grade das wechseln der Core-Thread-Zuordnung verhinden  _________________ If hilfreicher_Beitrag then klick(location.here)
Klick |
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 12.11.2007, 15:59 Titel: |
|
|
@MisterD:
Ich verstehe nicht ganz? _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
PMedia
Anmeldungsdatum: 14.08.2006 Beiträge: 2847
|
Verfasst am: 12.11.2007, 21:53 Titel: |
|
|
Heizi hat Folgendes geschrieben: | KK,
da hätt ich mir ja geld sparen können indem ich mir nur nen single core cpu
rechner gekauft hätte...
Wenigstens kann ich dann noch nebenher andere Sachen machen....
MfG |
Warum? Mit 2 Kernen kannst du sehr wohl dein Programm stark beschleunigen, indem du es auf Threads aufteilst. Das geht meistens.
Beispiel: 3D-Raytracer:
Zunächst wird eine Ray-Liste aufgebaut, welche dann gleichm. auf beide Kerne verteilt wird. Nun kann jeder Kern für sich eine Hälfte des Bildes berechnen. Zeitersparnis: idR ~43% bei selber Taktfrequenz
Beispiel: Spiel:
Eine Spielengine ist heutzutage darauf optimiert, viele Aktionen gleichzeitig zu machen, damit das Spiel spielbar bleibt, und nicht im Schneckentempo abläuft, sondern "ruckelt". Auch hierzu haben wir Threads, einen Synchro-Thread der meist den gesamten Verwaltungsteil übernimmt, einen Grafikthread, einen Soundthread, evtl. einem Netzwerkthread, sowie - falls nicht im Verwaltungsteil - einem Eingabethread.
Hier lässt sich die Kraft von vielen Threads somit ebenfalls ideal nutzen. Man könnte auch auf den weiteren Kern eine erweiterte Physikengine bereit stellen, oder LowRes-Realtime-Raytrace-Grafiken implementieren.
Die Investition war also in jedem Falle ihr Geld wert.
Klar, für Notepad 2.0 wirst du wohl kaum 8 Kerne benötigen und 4 GHz Takt, wenn dem so wäre solltest du deinen Programmierstil wechseln, aber ich glaub kaum dass das sowas "primitives" ist. |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 12.11.2007, 22:09 Titel: |
|
|
Zuguterletzt kann man's auch so sehen, dass das aufwändige programm ein core und alle andern das andere core belasten... insofern auch von vorteil wie's in der praxis aussieht, bleibt aber ein geheimnis für sich...  _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 12.11.2007, 22:35 Titel: |
|
|
Naja, Windows dürfte da einen ganz brauchbaren Sheduling-Algorithmus haben.  _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
csde_rats

Anmeldungsdatum: 07.01.2007 Beiträge: 2292 Wohnort: Zwischen Sessel und Tastatur
|
Verfasst am: 13.11.2007, 12:35 Titel: |
|
|
Mao hat Folgendes geschrieben: | Naja, Windows dürfte da einen ganz brauchbaren Sheduling-Algorithmus haben.  |
Ich habe die Erfahrung bei meinen NetServer E 60 gemacht (der hatte 2 CPUs, nach mehreren Neuinstallationen hat Win gerafft dass da zwei "benutztbare" warn ), dass es unmöglich ist, mit 7z (Ein Thread, auf CPU 2 laufend) etwas zu komprimieren, UND mit FF (CPU 1 zugewiesen) im INet zu surfen. FF lag sogar auf der anderen SCSI Festplatte.
Unter Debian mit eigens selbst kompilierten Kernel sieht das ganz anders aus.
Nein, nicht nur schafft 7z mehr KB/s, sondern auch Iceweasel (FF nur unter andrem Namen) lief ganz flüssig, und ruckelfrei.
(Soviel nur zu deiner Aussage, und meiner Erfahrung mit Debian+Win ) _________________ If hilfreicher_Beitrag then klick(location.here)
Klick |
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 13.11.2007, 14:14 Titel: |
|
|
Ja, ich hab leider noch keine Einsicht in den Code bekommen, aber es laufen ausreichend Multi-CPU Server mit Windows als dass der Sheduling-Algo also doch nicht so ein Rotz sein kann, wie du ihn gerade beschreibst. _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
Verfasst am: 13.11.2007, 20:12 Titel: |
|
|
csde_rats hat Folgendes geschrieben: | Mao hat Folgendes geschrieben: | Naja, Windows dürfte da einen ganz brauchbaren Sheduling-Algorithmus haben.  |
Ich habe die Erfahrung bei meinen NetServer E 60 gemacht (der hatte 2 CPUs, nach mehreren Neuinstallationen hat Win gerafft dass da zwei "benutztbare" warn ), dass es unmöglich ist, mit 7z (Ein Thread, auf CPU 2 laufend) etwas zu komprimieren, UND mit FF (CPU 1 zugewiesen) im INet zu surfen. FF lag sogar auf der anderen SCSI Festplatte.
Unter Debian mit eigens selbst kompilierten Kernel sieht das ganz anders aus.
Nein, nicht nur schafft 7z mehr KB/s, sondern auch Iceweasel (FF nur unter andrem Namen) lief ganz flüssig, und ruckelfrei.
(Soviel nur zu deiner Aussage, und meiner Erfahrung mit Debian+Win ) |
Du musst bedenken, csderats, dass Microsoft spezielle Serversoftware anbietet und dass Windows XP Home und Konsorten gar nicht für die Verwendung auf Servern vorgesehen sind. Ich denke, dass du mit aktuellerer Hardware und entsprechender Serversoftware gute Resultate auf Basis von Windows erzielen kannst. Für gehobene Ansprüche hätte MS ja z.B. auch die ehemals Datacenter-Edition...  _________________
Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen! |
|
Nach oben |
|
 |
|