Einzelnen Beitrag anzeigen

xaromz

Registriert seit: 18. Mär 2005
1.682 Beiträge
 
Delphi 2006 Enterprise
 
#17

Re: MultiThreading Bei mir ca. 40x Langsamer bei IntegerBere

  Alt 19. Aug 2006, 14:49
Hallo,
Zitat von Hallo_Thomas:
Es geht hier nicht um den Sinn Der Forme1, Sie soll nur als Beispiel dienen und Rechenleistung kosten!
Was ist eigentlich der Zweck dieser Übung? Festzustellen, dass Threads das System durch Overhead belasten? Ich habe das Gefühl, hier kennen sich einige mit Threads kein bisschen aus.

Also 'mal ganz langsam zum Mitschreiben:
  • Ein Thread verursacht alleine durch sein Vorhandensein eine Menge Arbeit für den Prozessor. Synchronisation, Wechsel des Threads (incl. Zustandssicherung), ganz zu Schweigen vom Verwaltungsaufwand beim Erstellen.
  • Bei einem Single-Prozessor-System ist ein Programm mit mehreren Threads immer langsamer als ohne. Ich klammere hierbei HT aus, das kann unter bestimmten Umständen was bringen.
  • Ein Thread lohnt sich erst, wenn die zu leistende Arbeit auch langwierig genug ist. Sonst frisst nämlich der Overhead die Ersparnis auf Multi-Prozessor-Systemen auf. Hier ist auch das Problem dieses Beispiels zu suchen.
  • Delphi-Referenz durchsuchenSynchronize bremst einen Thread aus, und sollte nur dort verwendet werden, wo es unumgänglich ist. Das ist hier kein Problem.
Zitat von Hallo_Thomas:
Es kann nicht an Synchronize liegen, nehmt es raus aus dem Programm und ihr werdet es merken!!!!!!!!!!!!!!!!!
Siehe oben.

Gruß
xaromz
I am a leaf on the wind - watch how I soar
  Mit Zitat antworten Zitat