bei mir ist es so, dass auch bei komplizierten bzw, aufwändigen Prozessen die Prozessor Leistung nicht über 30% hinaus geht
wie kann man das ändern?
auf prozessorleistung zugreifen.
Das ist auch bei mir so. Der 'bestimmte' Wert beträgt in der Regel 100%.jan.b hat geschrieben:bei mir ist es so, dass auch bei komplizierten bzw, aufwändigen Prozessen die Prozessor Leistung nicht über einen bestimmten wert hinaus geht
das Problem steht da doch wenn ich z.b. print(1000000*"hi") eingebe, dann ist das ein sehr aufwändiger Prozess. aber ews werden trotzdem nur etwa 23% der verfügbaren Leistung genutzt.Sirius3 hat geschrieben:@kbr: bei mir sind es 800%.
@jan.b: die Frage ist so nicht zu beantworten. Wo ist das Problem?
Die CPU wird nur dann komplett ausgelastet, wenn die CPU nicht auf irgendetwas anderes warten muss. Moderne CPUs sind sehr sehr schnell so dass sie i.d.R. hauptsächlich auf irgendwas anderes warten z.B. auf Daten aus dem Netzwerk, der Festplatte oder dem Arbeitsspeicher.
Jetzt überleg mal genau was dein Code tatsächlich tut und was davon die CPU betrifft.
Jetzt überleg mal genau was dein Code tatsächlich tut und was davon die CPU betrifft.
ich denke mal du willst mir damit sagen, dass ich die python Shell nicht schneller machen kann, weil das Problem nicht beim cpu liegt.DasIch hat geschrieben:Die CPU wird nur dann komplett ausgelastet, wenn die CPU nicht auf irgendetwas anderes warten muss. Moderne CPUs sind sehr sehr schnell so dass sie i.d.R. hauptsächlich auf irgendwas anderes warten z.B. auf Daten aus dem Netzwerk, der Festplatte oder dem Arbeitsspeicher.
Jetzt überleg mal genau was dein Code tatsächlich tut und was davon die CPU betrifft.
@jan.b: Genau das. Und es ist auch die Frage was die Zahl bei der Auslastung bedeutet. Sind das 23% von einem Kern oder 23% von einer CPU mit mehreren Kernen? Falls es vier Kerne sind, kommst Du mit einem Prozess der nur einen Thread verwendet ja schon prinzipiell nicht über 25% falls die Zahl die Auslastung der gesamten CPU angibt.
die Auslastung für nur einen kern anzuzeigen würde keinen sinn machen. aber,dass es mehr als einen thread verwendet merke ich spätestens dann, wenn das Programm sich aufhängt.BlackJack hat geschrieben:@jan.b: Genau das. Und es ist auch die Frage was die Zahl bei der Auslastung bedeutet. Sind das 23% von einem Kern oder 23% von einer CPU mit mehreren Kernen? Falls es vier Kerne sind, kommst Du mit einem Prozess der nur einen Thread verwendet ja schon prinzipiell nicht über 25% falls die Zahl die Auslastung der gesamten CPU angibt.
@jan.b: Natürlich macht es Sinn sich auch die Auslastung der Kerne anzeigen zu lassen.
Man erkennt daran das ein Programm hängt, nicht das es Threads verwendet, und umgekehrt bringen Threads Programme, die keinen Fehler bei der Threadprogrammierung haben, auch nicht zum hängen.
Man erkennt daran das ein Programm hängt, nicht das es Threads verwendet, und umgekehrt bringen Threads Programme, die keinen Fehler bei der Threadprogrammierung haben, auch nicht zum hängen.
ich dachte 1 = thread = 1.mio Rechnungen Pro /s und mein rechner hat mehr als 4 threads wenn er sich also schon bei 23 % aufhängt zeigt das, dassBlackJack hat geschrieben:@jan.b: Natürlich macht es Sinn sich auch die Auslastung der Kerne anzeigen zu lassen.
Man erkennt daran das ein Programm hängt, nicht das es Threads verwendet, und umgekehrt bringen Threads Programme, die keinen Fehler bei der Threadprogrammierung haben, auch nicht zum hängen.
nur 1/4 der zur verfügung gesetzten rechenleistung auch genutzt werden (vorraus gesetzt es zeigt die gesamte Kapazität des pc's an(und das tut es habe nachgeguckt). oder ich habe einen Denkfehler.
Thread ist keine Masseinheit sondern ein separater Ausführungsstrang innerhalb eines Prozesses.
Eine Million Rechnungen, oder besser Befehle, pro Sekunde wird üblicherweise MIPS („million instructions per second“) genannt. Siehe auch Instruktionen pro Sekunde.
Eine Million Rechnungen, oder besser Befehle, pro Sekunde wird üblicherweise MIPS („million instructions per second“) genannt. Siehe auch Instruktionen pro Sekunde.
Danke für die ganze antworterei.BlackJack hat geschrieben:Thread ist keine Masseinheit sondern ein separater Ausführungsstrang innerhalb eines Prozesses.
Eine Million Rechnungen, oder besser Befehle, pro Sekunde wird üblicherweise MIPS („million instructions per second“) genannt. Siehe auch Instruktionen pro Sekunde.