AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Langsames Multithreading

Ein Thema von BLin4ik · begonnen am 27. Mai 2015 · letzter Beitrag vom 27. Mai 2015
Antwort Antwort
CarlAshnikov

Registriert seit: 18. Feb 2011
Ort: Erfurt
108 Beiträge
 
Delphi XE5 Enterprise
 
#1

AW: Langsames Multithreading

  Alt 27. Mai 2015, 12:57
Die Threads müssen zugewiesen werden, da das in Delphi 5 nicht automatisch passiert und alle nur den ersten Kern verwenden.
Das stimmt nicht, die Verteilung der Threads hat mit Delphi 5 nichts zu tun.
Sebastian
  Mit Zitat antworten Zitat
BLin4ik

Registriert seit: 23. Nov 2011
40 Beiträge
 
Delphi 5 Enterprise
 
#2

AW: Langsames Multithreading

  Alt 27. Mai 2015, 13:03
Die Threads müssen zugewiesen werden, da das in Delphi 5 nicht automatisch passiert und alle nur den ersten Kern verwenden.
Das stimmt nicht, die Verteilung der Threads hat mit Delphi 5 nichts zu tun.
Nimmt man die normale TThread-Klasse kriegen die Threads immer den ersten Kern zugewiesen (wurde getestet),
deswegen habe ich eine eigene MultiThread-Klasse erstellt die sich im Kreis dreht, sodass
je nach Anzahl der Threads, alle Kerne gleichmäßig bedient werden.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.555 Beiträge
 
Delphi 12 Athens
 
#3

AW: Langsames Multithreading

  Alt 27. Mai 2015, 13:09
Die Zuweisung nimmt Windows vor und nicht TThread.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#4

AW: Langsames Multithreading

  Alt 27. Mai 2015, 13:31
Nimmt man die normale TThread-Klasse kriegen die Threads immer den ersten Kern zugewiesen (wurde getestet),
Windows sollte die Threads migrieren wenn sie mehr als einen Kern auslasten würden


Das ReadLine liest die Zeile in eine StringListe ein, sodass man über einen Index an die verschiedenen Spalten
rankommt.
Und da ist doch schon die Speicherverwaltung (Strings und die Stringlist selbst).
Frage in den Raum: Verwendet Delphi 5 schon einen Speichermanager, den Multithreading nicht sofort in die Knie zwingt?
  Mit Zitat antworten Zitat
BLin4ik

Registriert seit: 23. Nov 2011
40 Beiträge
 
Delphi 5 Enterprise
 
#5

AW: Langsames Multithreading

  Alt 27. Mai 2015, 14:01
Juhu!

Ich habe die Lösung gefunden, der FastMM hat mir durch eine Einstellungen einen Strich
durch die Rechnung gemacht! Und zwar musste ich "NeverSleepOnThreadContention" akvieren
dadurch kriege ich volle Leistung, die Threads wurden nämlich immer Schlafen gelegt.


Quelle: http://www.thedelphigeek.com/2011/09...entionnot.html
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#6

AW: Langsames Multithreading

  Alt 27. Mai 2015, 14:26
Und ich würde die Threads nicht von Hand auf einzelne Kerne zuweise und es dem OS überlassen. Hingegen aller Gerüchte weiß Windows selbst sehr gut wie es mit Speicher und Threads am besten umgeht. Man gewinnt nichts außer zusätzliche, überflüssigen Code, der auch noch fehlerhaft sein kann. Und sollte Microsoft in Zukunft was am Threadhandling ändert, schießt man sich eventuell eher ein Eigentor.

Ich sage mir immer: Was Windows selber machen/verwalten kann, soll es auch selber machen. Wozu mir zusätzliche Arbeit machen?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:02 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz