Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Wie wird das neue TParallelArray verwendet? (https://www.delphipraxis.net/215913-wie-wird-das-neue-tparallelarray-verwendet.html)

softtouch 24. Sep 2024 17:40

Delphi-Version: 5

Wie wird das neue TParallelArray verwendet?
 
Leider finde ich keinerlei samples. Gibt es irgendwo ein Beispiel?

himitsu 24. Sep 2024 17:53

AW: Wie wird das neue TParallelArray verwendet?
 
Ab 12.2? (noch nicht installiert)


Ist es denn nicht selbsterklärend?

Die Hilfe sagt:
Delphi-Quellcode:
TParallelArray.For<irgendwas>(DeineArrayVariable, DeineProzedur);


Delphi-Quellcode:
// z.B. var DeineArrayVariable: TArray<irgendwas>;

TParallelArray.For<irgendwas>(DeineArrayVariable,
  procedure(const AValues: array of irgendwas; AFrom, ATo: NativeInt)
  begin
    for var i := AFrom to ATo do
      machwasMit(irgendwas[i]);
  end);
TParallelArray.Sort<T> entspricht vom Aufruf her dem TArray.Sort<T>.

Rollo62 24. Sep 2024 19:15

AW: Wie wird das neue TParallelArray verwendet?
 
Du meinst wohl

Delphi-Quellcode:
for var i := AFrom to ATo do
      machwasMit( AValues[i]);

himitsu 24. Sep 2024 21:29

AW: Wie wird das neue TParallelArray verwendet?
 
neeee
ups ja :oops:



Ich versteh nur nicht, warum das in eine eigene Klasse mußte, anstatt in die bestehende Klasse der ParallelLibrary. :wall:

sh17 25. Sep 2024 06:10

AW: Wie wird das neue TParallelArray verwendet?
 
Zitat:

Zitat von himitsu (Beitrag 1541476)
Ab 12.2? (noch nicht installiert)
Delphi-Quellcode:
// z.B. var DeineArrayVariable: TArray<irgendwas>;

TParallelArray.For<irgendwas>(DeineArrayVariable,
  procedure(const AValues: array of irgendwas; AFrom, ATo: NativeInt)
  begin
    for var i := AFrom to ATo do
      machwasMit(irgendwas[i]);
  end);

Was läuft denn da jetzt parallel? Oder bilden AFrom und ATo nur einen Teil des Arrays ab?

DeddyH 25. Sep 2024 06:48

AW: Wie wird das neue TParallelArray verwendet?
 
Ohne nachgeschaut zu haben vermute ich einfach mal, dass man damit mehrere Teile eines Arrays parallel abarbeiten lassen kann. Das ist aber reiner Spekulatius.

Uwe Raabe 25. Sep 2024 08:12

AW: Wie wird das neue TParallelArray verwendet?
 
Zitat:

Zitat von sh17 (Beitrag 1541491)
Oder bilden AFrom und ATo nur einen Teil des Arrays ab?

Genau so ist es! Die entsprechende Logik kann man in den Methoden ForWorker und SortWorker nachschauen.

Man sollte allerdings im Hinterkopf behalten, dass mit den Default-Einstellungen ein For erst ab 50000 Einträgen parallel bearbeitet wird und ein Sort ab 5000.

sh17 27. Sep 2024 05:50

AW: Wie wird das neue TParallelArray verwendet?
 
https://blogs.embarcadero.com/faster...-dictionaries/

softtouch 27. Sep 2024 09:38

AW: Wie wird das neue TParallelArray verwendet?
 
Zitat:

Zitat von sh17 (Beitrag 1541557)

Thats what I was looking for, thanks.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:25 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