AGB  ·  Datenschutz  ·  Impressum  







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

Ergebnis der Suchanfrage


Datum des Suchindex: Heute, 06:47

Parameter dieser Suchanfrage:

Suche in Thema: Quicksort Algo für Strings optimieren
Suche alle Beiträge, die von "Union" geschrieben wurden
• Suchmethode: "Suche nach allen Begriffen"
• Nach Datum (firstpost) sortiert
• Zeige Treffer als Beiträge
Zeige 8 von insges. 8 Treffern
Suche benötigte 0.004s

Es liegen Ergebnisse in folgenden Bereichen vor:

  • Forum: Object-Pascal / Delphi-Language

    Re: Quicksort Algo für Strings optimieren

      Delphi
      by Union, 13. Mär 2008
    Das ist ja auch klar, war ja nur eine Vermutung von alzaimar die eben so nicht zutraf. Und Du hast Recht, Cardinal wäre sowieso besser in dem Fall, falls man mal ein Array hat das mehr Elemente als $EFFF FFFF hat. Wer weiss was dann mit den Typecasts passiert und der Addressierung. Aber bei 4 Milliarden strings verwendet man auch keinen Quicksort mehr ;) Da könnte man ja die Namen der halben...
  • Forum: Object-Pascal / Delphi-Language

    Re: Quicksort Algo für Strings optimieren

      Delphi
      by Union, 13. Mär 2008
    D.h. fast doppelt so schnell, sauber. Ich habe zwar einen Funktionstest gemacht aber nicht geprüft ob der Code jetzt auch wirklich richtig sortiert...
  • Forum: Object-Pascal / Delphi-Language

    Re: Quicksort Algo für Strings optimieren

      Delphi
      by Union, 13. Mär 2008
    Das ist dem Shr vollkommen piepegal, der schiebt einfach. Und selbst wenn, bei einem statischen Array kann man ja theoretisch sowas machen:
    TArrayFromHell = array of string;
    Hier gehts aber um ein dynamisches Array was zu sortieren ist, und die fangen doch in Delphi bei 0 an?
  • Forum: Object-Pascal / Delphi-Language

    Re: Quicksort Algo für Strings optimieren

      Delphi
      by Union, 13. Mär 2008
    Und hier das überarbeitete durch kcx von Derek van Daal entwendete Meisterwerk...
    procedure QuickSort(var Strings: TStringArray; Start, Stop: Integer);
    var
    Left: Integer;
    Right: Integer;
    Mid: Integer;
    Pivot: string;
    // Temp: string;
    PTemp : integer;
    begin
  • Forum: Object-Pascal / Delphi-Language

    Re: Quicksort Algo für Strings optimieren

      Delphi
      by Union, 13. Mär 2008
    Nein, ich habe nur das Quicksort gemessen. Testschleife (LoadFromFile aus einer Textdatei, füllen des Arrays) ist nicht mitgemessen. Ich mache immer 3 gleiche Aufrufe mit den selben Daten (~25000 Strings).

    Hier die Ergebisse wenn man die zweite rekursive Zeile entfernt und durch ein repeat ersetzt. Die Funktion ist wieder langsamer, wird dafür aber weniger durch sich selbst aufgerufen!...
  • Forum: Object-Pascal / Delphi-Language

    Re: Quicksort Algo für Strings optimieren

      Delphi
      by Union, 13. Mär 2008
    Ne, den Code hab ich in im CPU Fenster mit eingeschalteter Optimierung verifiziert! Und folgendes gemessen:

    Aufrufe Dauer Gesamt
    Original 77,163 1.257 μs 96.986 ms
    Shr 1 77,163 0.958 μs 73.909 ms
    Also fast 25% schneller nur durch Änderung in shr.
  • Forum: Object-Pascal / Delphi-Language

    Re: Quicksort Algo für Strings optimieren

      Delphi
      by Union, 13. Mär 2008
    Das ist doch schon mal ganz nett. Eine Sache die sofort auffällt (und den Code hast Du nicht selbst geschrieben, sondern wie 1000 andere arme von irgendwoher kopiert), ist das div 2. Und das ist bis zu doppelt so langsam wie shr 1:
    // Div 2
    mov edx, eax
    sar edx,1
    jns +$03
    adc edx,$00// Shr 1
    mov ecx,eax
    shr ecx,1

    Das hat jetzt zwar nix mit den Strings zu tun, aber wird bei Dir...
  • Forum: Object-Pascal / Delphi-Language

    Re: Quicksort Algo für Strings optimieren

      Delphi
      by Union, 13. Mär 2008
    Hast Du denn gemessen ob dies wirklich der Flaschenhals ist in diesem Quicksort?


URL zu dieser Suchanfrage:

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