Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Betriebssysteme (https://www.delphipraxis.net/27-betriebssysteme/)
-   -   Multiprozessoren und "Single-Tread" Anwendungen unter Win 7 (https://www.delphipraxis.net/141191-multiprozessoren-und-single-tread-anwendungen-unter-win-7-a.html)

FAlter 4. Okt 2009 15:59


Multiprozessoren und "Single-Tread" Anwendungen un
 
Hi,

es heißt ja immer, dass auf einem Multiprozessorsystem nur solche Programme schneller laufen, die speziell dafür geschrieben sind (d. h. mit mehreren Threads parallel arbeiten).

Ist diese Behauptung noch aktuell? Ich habe das Gefühl, dass mein Windows 7 so optimiert ist, dass auch ursprünglich sequentielle Programme von mehreren Prozessoren profitieren. Mag sein, dass MS da in die API-Funktionen Optimierungen eingebaut hat. Jedenfalls zeigt der Taskmanager jetzt auch bei Programmen die ohne Threads arbeiten (bei selbstgeschriebenen weiß ich das ja ziemlich genau) plötzlich diverse Threads an, die Prozessoren sind gleichmäßig ausgelastet und es läuft auch wesentlich schneller.

Gruß
Felix

jaenicke 4. Okt 2009 16:06

Re: Multiprozessoren und "Single-Tread" Anwendunge
 
Sofern das Programm viele API-Funktionen nutzt, bei denen lange Berechnungen passieren kann das sein.

Dass du selbst keine Threads erzeugst, heißt aber noch lange nicht, dass da nur ein Thread existiert, das hat nix mit Windows 7 zu tun. Von den anderen merkst du nur nix. Sei es bei der Anzeige eines OpenDialogs oder bei der Verwendung von Indy, überall werden Threads intern benutzt. ;-)
Beim OpenDialog sind es bei Vista z.B. alleine 7 Threads, die erzeugt werden, was ja auch Delphi selbst im Debug-Log anzeigt.

Wenn du aber selbst lange Berechnungen durchführst, werden die nicht automatisch irgendwie verteilt.

Bernhard Geyer 4. Okt 2009 19:45

Re: Multiprozessoren und "Single-Tread" Anwendunge
 
Die Behauptung ist noch Aktuell. Nur sind HW und SW schon soweit optimiert das diese bei fehlender Unterstützung z.B. automatisch den verwenden CPU-Kern übertakten können bzw. das OS-"Drumherum" nicht mehr so von deiner eigentlichen Prozessorzeit "abgeht".

MagicAndre1981 4. Okt 2009 19:56

Re: Multiprozessoren und "Single-Tread" Anwendunge
 
das liegt an 3 neuen Funktionen von Windows 7:

Core-Parking, Windows Timer Coalescing und Intelligent Timer Tick:

http://www.microsoft.com/whdc/system...TimerCoal.mspx
http://download.microsoft.com/downlo...T540_WH08.pptx

himitsu 4. Okt 2009 23:23

Re: Multiprozessoren und "Single-Tread" Anwendunge
 
Dateioperationen sind eigentlich schon lange (seit NT) intern mehr Multithreading, nur das du es nicht so merkst, da dieses APIs mit ihrer Beendigung meistens warten, bis die Operation fertig ist (abgesehn von AsyncIO)


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:55 Uhr.

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