AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Suchfunktion Ergebnis der Suchanfrage

Ergebnis der Suchanfrage


Datum des Suchindex: Heute, 17:02

Parameter dieser Suchanfrage:

Suche in Thema: Freigeben von Listen durch Threads beschleunigen
Suche alle Beiträge, die von "Daniel" geschrieben wurden
• Suchmethode: "Suche nach allen Begriffen"
• Nach Datum (firstpost) sortiert
• Zeige Treffer als Beiträge
Zeige 10 von insges. 10 Treffern
Suche benötigte 0.003s

Es liegen Ergebnisse in folgenden Bereichen vor:

  • Forum: Object-Pascal / Delphi-Language

    AW: Freigeben von Listen durch Threads beschleunigen

      Delphi
      by Daniel, 26. Feb 2015
    Das Projekt sollte auch noch für XE4 kompatibel bleiben, daher nutze ich ganz klassisch TThread.
    Jetzt eben das war ein unglücklicher Copy&Paste-Fehler aus der Rubrik "Ich probier mal eben was aus.".
    ;-)
  • Forum: Object-Pascal / Delphi-Language

    AW: Freigeben von Listen durch Threads beschleunigen

      Delphi
      by Daniel, 26. Feb 2015
    Ich hab' mich jetzt eh an anderer Stelle im Projekt verfuddelt. Da hilft alles nix mehr. ;-)

    Threads 1..4 bauen die Datenstruktur auf, Threads 5 und 6 solchen selbige durchsuchen, wenn die ersten vier Threads fertig sind. In der Theorie simpel, in der Praxis ein Deadlock. :mrgreen: Ich glaub' das geht grundsätzlich nicht. *g*
  • Forum: Object-Pascal / Delphi-Language

    AW: Freigeben von Listen durch Threads beschleunigen

      Delphi
      by Daniel, 25. Feb 2015
    Die Datenmange kann es kaum sein.
    Konkrete Zahlen aus meinem System / Testprojekt:

    Das Abbauen der Liste dauert rund 300ms - für einen Rechner als eine durchaus nennenswerte Zeit. Der Taskmanager listet mir für die Anwendung einen Speicherverbrauch von 360 MBytes. Ich weiß, dass der Task-Manager nicht besonders präzise ist, aber für eine grobe Schätzung sollte der Wert langen. Selbst wenn...
  • Forum: Object-Pascal / Delphi-Language

    AW: Freigeben von Listen durch Threads beschleunigen

      Delphi
      by Daniel, 25. Feb 2015
    Der VM habe ich vier Kerne zugewiesen. Beim Aufbau der Liste passen Theorie und Praxis auch wunnebaaa z'ammen und bei vier Threads habe ich die höchste Performance.

    @Blup: Spannende Idee, aber ich sehe mich schon mit Löchern im Strumpf, weil ich mir damit mit hoher Wahrscheinlichkeit selbst in den Fuß schieße. Ich werde das am Wochenende aus Interesse mal ausprobieren, wenngleich ich noch...
  • Forum: Object-Pascal / Delphi-Language

    AW: Freigeben von Listen durch Threads beschleunigen

      Delphi
      by Daniel, 25. Feb 2015
    Alles schon probiert. Klassischer TThread, TTask oder TParallel - liefert alles das gleiche Ergebnis.


    Das wäre noch eine Variante, wobei ich auch ein Auge auf den Speicherverbrauch haben muss, denn der Krempel ist empfindlich groß.
  • Forum: Object-Pascal / Delphi-Language

    AW: Freigeben von Listen durch Threads beschleunigen

      Delphi
      by Daniel, 25. Feb 2015
    Gemessen habe ich wie oben in meinem Beispiel: Den Gesamtaufwand für Clear1 bzw. Clear2. Also inklusive Erzeugen der Thread-Objekte etc. Das war für mich am naheliegensten, da ich wissen will, wie lange es dauert, mich der Daten wieder zu entledigen.

    Die konkreten Werte sind natürlich hardware- und projektabhängig. In meinem Testprojekt messe ich konstant um 300ms für das Zerstören der Liste....
  • Forum: Object-Pascal / Delphi-Language

    AW: Freigeben von Listen durch Threads beschleunigen

      Delphi
      by Daniel, 25. Feb 2015
    Im echten Projekt habe ich eine Baum-Struktur. Im konkreten Testfall mit rund 1.800 Elementen auf unterster Ebene. Diese Elemente haben ihrerseits Unter-Elemente in jeweils eigenen Listen, so dass ich in Summe auf die eingangs beschriebene Größenordnung komme.
    Die beiden Threads hätten sich die 1.800 Root-Elemente aufteilen sollen. Das zeitliche Verhalten lässt sich mit einer langen Liste...
  • Forum: Object-Pascal / Delphi-Language

    AW: Freigeben von Listen durch Threads beschleunigen

      Delphi
      by Daniel, 24. Feb 2015
    Mein echtes Projekt nutzt eine TObjectList, testweise habe ich auch dort mal eine TList versucht. Doch sobald ich sicherstelle, dass alle Destruktoren aufgerufen werden, zeigen die beiden Listenklassen keinen Unterschied in der Laufzeit.

    Gleichzeitig freigeben und neu aufbauen habe ich noch nicht versucht, da der Neuaufbau mit n Threads erfolgt und schon alle CPU-Kerne auslastet. DORT habe ich...
  • Forum: Object-Pascal / Delphi-Language

    AW: Freigeben von Listen durch Threads beschleunigen

      Delphi
      by Daniel, 24. Feb 2015
    Mir dünkt, dass FastMM das Problem ist. Da war doch mal was, dass der nicht vollständig skaliert.
    Komisch, dass man auf sowas erst kommt, wenn man das Problem niedergeschrieben hat.
  • Forum: Object-Pascal / Delphi-Language

    Freigeben von Listen durch Threads beschleunigen

      Delphi
      by Daniel, 24. Feb 2015
    Moin,

    also Sachen gibt's ... :gruebel: Ich habe hier eine Liste mit etwa 5-10 Mio. Einträgen. Ab und an muss ich diese Liste freigeben, um sie neu aufzubauen. Die Objekte sind etwas komplexer, so dass selbst das Freigeben dieser Liste eine messbare Zeit benötigt. Im ersten Ansatz bin ich treudoof von vorn nach hinten durch die Liste und habe die Elemente freigegeben. Das funktioniert...


URL zu dieser Suchanfrage:

https://www.delphipraxis.net/dp_search.php?do=usersearch&search_username=Daniel&search_exact_username=1&search_sortby=dateline&search_resulttype=post&search_matchmode=0&searchthreadid=184090
Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:16 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