AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

MemoryLeaks mit s := I.ToString

Ein Thema von Kraisel · begonnen am 7. Nov 2014 · letzter Beitrag vom 12. Nov 2014
Antwort Antwort
Seite 2 von 2     12
Benutzerbild von BUG
BUG

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

AW: MemoryLeaks mit s := I.ToString

  Alt 9. Nov 2014, 11:29
Ich hab irgendwie den Eindruck, ihr wisst beide worum es geht und was man Grundsätzlich beachten muss, und redet jetzt nur noch ein bisschen aneinander vorbei. Für Leute ohne Erfahrung mit Nebenläufigkeit ist das sicher interessant, aber ansonsten nicht sonderlich produktiv
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

AW: MemoryLeaks mit s := I.ToString

  Alt 10. Nov 2014, 00:31
Hey, lass uns doch auch mal den Coolen raushängen. Und auch das Nebeneinadervorbeireden birgt ja noch zusätzliches Wissen. Den Beitrag über die Vor- und Nachteile und wann was besser geeignet ist, fand ich interessant.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.902 Beiträge
 
Delphi 12 Athens
 
#13

AW: MemoryLeaks mit s := I.ToString

  Alt 10. Nov 2014, 08:28
Ich wusste nicht mal das es Fiber gibt.

Ab wievielen "gleichzeitigen" prozessen lohnt sich jetzt Fiber?

Ich meine, dass die neuen Indy componenten ja auch von einem Thread pro connection geäandert wurden, so dass es da jetzt
einen Context pro Connection und mehrere Contexte in einem Thread gibt.

Mehrere Contexte pro Thread ist ein Indy-Context schon ein Fiber?

Also ab wievielen Verbindungen ist ein Fiber pro Verbindung besser als ein Thread?
Andreas
Monads? Wtf are Monads?
  Mit Zitat antworten Zitat
Benutzerbild von Kraisel
Kraisel

Registriert seit: 19. Mär 2012
Ort: Bochum-Linden
64 Beiträge
 
Delphi 12 Athens
 
#14

AW: MemoryLeaks mit s := I.ToString

  Alt 11. Nov 2014, 17:07
Schön, dass es doch noch jemand gibt, der sich für dieses Thema interessiert. Aber es ist richtig, dass im Grunde fast alles gesagt ist, und mit dem ursprünglichen Thema nichts mehr zu tun hat. Über Threads, Fiber und Co. könnte man natürlich stundenlang schreiben.

Aber noch soviel zu den Fragen:

Die Indy-Komponenten kenne ich nicht.

Microsoft gibt an, dass maximal 16 Threads pro CPU laufen sollten, und auch nur dann, wenn alle die meiste Zeit auf etwas warten. Die nackte schnellstmögliche Umschaltung von vier Threads dauert auf meinem PC 2.0..5.0 us je Umschaltung. Wichtig ist auch noch zu wissen, dass ein Thread 5..20ms braucht, um zu starten. Wenn der Thread also nicht schon da ist und läuft, und man glaubt, mal eben einen anonymen Thread parallel laufen zu lassen, wird bitter enttäuscht werden. Alles wird deutlich langsamer als ohne Thread.

Der Fiber ist in Delphi leider ein Windows-Konstrukt und m.E. nicht für Mac oder NewGeneration-Compiler verfügbar. Wie lange er also noch gepflegt wird, weiß leider niemand. Also auch hier Vorsicht bei der Benutzung für neue Anlagen. Aber wenn man ihn benutzt, wird man mit atemberaubender Geschwindigkeit von meist über 100 mal schneller belohnt. Die Nachteile hatte ich ja bereits beschrieben.
Peter Kaisler
Das einzig Komplizierte ist zu begreifen wie einfach es ist.
  Mit Zitat antworten Zitat
taveuni

Registriert seit: 3. Apr 2007
Ort: Zürich
529 Beiträge
 
Delphi 11 Alexandria
 
#15

AW: MemoryLeaks mit s := I.ToString

  Alt 12. Nov 2014, 07:23
Microsoft gibt an, dass maximal 16 Threads pro CPU laufen sollten, und auch nur dann, wenn alle die meiste Zeit auf etwas warten.
Wo? Diese absolute Aussage steht so irgendwo? Kannst Du mir den Link posten?
Die obige Aussage repräsentiert meine persönliche Meinung.
Diese erhebt keinen Anspruch auf Objektivität oder Richtigkeit.
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.013 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#16

AW: MemoryLeaks mit s := I.ToString

  Alt 12. Nov 2014, 07:47
Also bei meiner Fiber Implementierung hab ich mit dem oben abgebildeten Code kein Memleak. Das liegt aber auch daran, dass ich sie korrekt beenden lasse.
Wenn ich vor dem Ende der Test Procedure nen Yield einbaue und nie wieder in den Fiber springe, dann natürlich auch.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.120 Beiträge
 
Delphi 10 Seattle Enterprise
 
#17

AW: MemoryLeaks mit s := I.ToString

  Alt 12. Nov 2014, 12:57
Wo? Diese absolute Aussage steht so irgendwo? Kannst Du mir den Link posten?
Vielleicht meint er die Embarcadero-Doku zu TThread. Da steht, dass 16 aktive Threads eine "praktikable Obergrenze" darstellen.

Siehe auch hier:
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 09:03 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