![]() |
AW: MemoryLeaks mit s := I.ToString
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 :mrgreen:
|
AW: MemoryLeaks mit s := I.ToString
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.
|
AW: MemoryLeaks mit s := I.ToString
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? |
AW: MemoryLeaks mit s := I.ToString
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. |
AW: MemoryLeaks mit s := I.ToString
Zitat:
|
AW: MemoryLeaks mit s := I.ToString
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. |
AW: MemoryLeaks mit s := I.ToString
Zitat:
Siehe auch ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:20 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 by Thomas Breitkreuz