Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Prozessorauslastung hochbekommen
Gehe zu Seite 1, 2  Weiter
 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Heizi



Anmeldungsdatum: 19.01.2005
Beiträge: 309

BeitragVerfasst am: 11.11.2007, 19:45    Titel: Prozessorauslastung hochbekommen Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
AndT



Anmeldungsdatum: 02.04.2007
Beiträge: 481

BeitragVerfasst am: 11.11.2007, 19:50    Titel: Antworten mit Zitat

könnte das zufällig eine dual core cpu sein?
update:
wenn ja, dann wird wahrscheinlich nur ein core benutzt
_________________
Bis irgendwann... grinsen


Zuletzt bearbeitet von AndT am 11.11.2007, 20:14, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 11.11.2007, 20:10    Titel: Re: Prozessorauslastung hochbekommen Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Heizi



Anmeldungsdatum: 19.01.2005
Beiträge: 309

BeitragVerfasst am: 11.11.2007, 20:18    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
PMedia



Anmeldungsdatum: 14.08.2006
Beiträge: 2847

BeitragVerfasst am: 11.11.2007, 20:24    Titel: Antworten mit Zitat

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 grinsen - wie immer keine Gewährleistung
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 11.11.2007, 20:50    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 11.11.2007, 23:50    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Heizi



Anmeldungsdatum: 19.01.2005
Beiträge: 309

BeitragVerfasst am: 12.11.2007, 00:27    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
PMedia



Anmeldungsdatum: 14.08.2006
Beiträge: 2847

BeitragVerfasst am: 12.11.2007, 03:01    Titel: Antworten mit Zitat

Nein.
Sonst würden auch alle Renderprogrammhersteller nicht solch einen Aufwand betreiben und extra Multicore-Versionen ihrer Programme herausbringen...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Heizi



Anmeldungsdatum: 19.01.2005
Beiträge: 309

BeitragVerfasst am: 12.11.2007, 08:13    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
AndT



Anmeldungsdatum: 02.04.2007
Beiträge: 481

BeitragVerfasst am: 12.11.2007, 12:08    Titel: Antworten mit Zitat

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... grinsen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Heizi



Anmeldungsdatum: 19.01.2005
Beiträge: 309

BeitragVerfasst am: 12.11.2007, 14:28    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
csde_rats



Anmeldungsdatum: 07.01.2007
Beiträge: 2292
Wohnort: Zwischen Sessel und Tastatur

BeitragVerfasst am: 12.11.2007, 15:42    Titel: Antworten mit Zitat

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.

mit dem Kopf durch die Mauer wollen Autsch! Wenn man keine Ahnung hat...

DualCoreOptimizer sollen grade das wechseln der Core-Thread-Zuordnung verhinden mit dem Kopf durch die Mauer wollen peinlich
_________________
If hilfreicher_Beitrag then klick(location.here)

Klick
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 12.11.2007, 15:59    Titel: Antworten mit Zitat

@MisterD:
Ich verstehe nicht ganz?
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
PMedia



Anmeldungsdatum: 14.08.2006
Beiträge: 2847

BeitragVerfasst am: 12.11.2007, 21:53    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 12.11.2007, 22:09    Titel: Antworten mit Zitat

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 happy wie's in der praxis aussieht, bleibt aber ein geheimnis für sich... lächeln
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 12.11.2007, 22:35    Titel: Antworten mit Zitat

Naja, Windows dürfte da einen ganz brauchbaren Sheduling-Algorithmus haben. lächeln
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
csde_rats



Anmeldungsdatum: 07.01.2007
Beiträge: 2292
Wohnort: Zwischen Sessel und Tastatur

BeitragVerfasst am: 13.11.2007, 12:35    Titel: Antworten mit Zitat

Mao hat Folgendes geschrieben:
Naja, Windows dürfte da einen ganz brauchbaren Sheduling-Algorithmus haben. lächeln

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 cool ), 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 zwinkern )
_________________
If hilfreicher_Beitrag then klick(location.here)

Klick
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 13.11.2007, 14:14    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 13.11.2007, 20:12    Titel: Antworten mit Zitat

csde_rats hat Folgendes geschrieben:
Mao hat Folgendes geschrieben:
Naja, Windows dürfte da einen ganz brauchbaren Sheduling-Algorithmus haben. lächeln

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 cool ), 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 zwinkern )

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... zwinkern
_________________

Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Gehe zu Seite 1, 2  Weiter
Seite 1 von 2

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz