AGB  ·  Datenschutz  ·  Impressum  







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

Ergebnis der Suchanfrage


Datum des Suchindex: Heute, 22:17

Parameter dieser Suchanfrage:

Suche in Thema: Boyer Moore Algorithmus
Suche alle Beiträge, die von "Ginko" geschrieben wurden
• Suchmethode: "Suche nach allen Begriffen"
• Nach Datum (firstpost) sortiert
• Zeige Treffer als Beiträge
Zeige 16 von insges. 16 Treffern
Suche benötigte 0.002s

Es liegen Ergebnisse in folgenden Bereichen vor:

  • Forum: FreePascal

    AW: Boyer Moore Algorithmus

     
      by Ginko, 9. Jun 2013
    Das gute abschneiden der Standard PosEx Funktion bei dir wundert mich schon sehr.
    Also bei Post 42.

    Meine Daten zum Test:
    CPU Typ DualCore Intel Core 2 Duo E6400, 1600 MHz (6 x 267) (StandardMax 2400 Mhz, auf 1600 festgelegt über Energieoptionen)
    2 GB Speicher
    Win 7 32Bit
    Lazarus 1.0.8

    @Furtbichler ich hatte auch schon mal einen QS nach Sunday drinnen, der hat aber nicht gut...
  • Forum: FreePascal

    AW: Boyer Moore Algorithmus

     
      by Ginko, 9. Jun 2013
    Moin,
    Bei mir sieht das ganz anders aus ?! Ich hab mal noch hier den dazu genommen http://www.delphipraxis.net/711182-post1.html, der schlägt sich bei mir bis jetzt am besten (Alles im Anhang).

    "Taxi"
    BMH Count: 100000 in 503ms
    SP Search Count: 100000 in 785ms
    Asm AmatProf: 100000 in 743ms
    QSSearch Count: 100000 in 396ms <---
    Asm himitsu: 100000 in 1463ms
    Std PosEx...
  • Forum: FreePascal

    AW: Boyer Moore Algorithmus

     
      by Ginko, 8. Jun 2013
    Ahh ja jetzt läufts, Danke euch! Sehr schön. Besonders bei sehr langen Strings und bei einem Buchstaben liegt die ASM Version bei meinen Tests vorne. Teilweise nochmal doppelt so schnell wie der BMH :shock:. Im Mittelfeld allerdings ist der BMH noch vorne.
  • Forum: FreePascal

    AW: Boyer Moore Algorithmus

     
      by Ginko, 8. Jun 2013
    Ja klar.
  • Forum: FreePascal

    AW: Boyer Moore Algorithmus

     
      by Ginko, 8. Jun 2013
    Bei meinem letzen Testprogramm (Anhang 5) ist der BMH nur bei einem Buchstaben etwas langsamer als die Standard Funktion. Ansonsten ist er meistens 2 bis 3 mal schneller. Der letzte Test hat das ganze Alphabet und auch längere Wörter. Das entspricht eher der Anwendung für die ich den Algorithmus brauche.

    Die Assembler Suche bringt immer noch 0 Funde in Lazarus schade...

    Mfg
  • Forum: FreePascal

    AW: Boyer Moore Algorithmus

     
      by Ginko, 7. Jun 2013
    Bei der Version des BMH mit dem Record tritt bei mir noch ein merkwürdiger Fehler auf. Gibt man als Suchwort "Franz jagt im komplett verwahrlosten Taxi quer durch Bayer" findet er nur die Hälfte der Ergebnisse. Der Ursprüngliche BMH ohne Record findet alle. Aber der Fehler war bis jetzt nur bei dieser speziellen Wortfolge...

    : Im Anhang ist nochmal der Test, der ohne Fehler läuft. Außerdem...
  • Forum: FreePascal

    AW: Boyer Moore Algorithmus

     
      by Ginko, 7. Jun 2013
    Hmm bei mir in Lazarus auch 0 Funde, aber ich musste ein paar Sachen ändern, denn der Lazarus Inline Assembler hat so seine Eigenarten. Der übernimmt einiges nicht, was in Delphi klappt...
  • Forum: FreePascal

    AW: Boyer Moore Algorithmus

     
      by Ginko, 7. Jun 2013
    Das habe ich bereits gemacht im Anhang 4, Horst_ hat es noch etwas angepasst und eine überflüssige Varible (von mir) rausgeschmissen.
    function Search_BMH_Count(const SuchText,SuchWort:string):integer;
    var
    n, k, j: integer;
    Large: integer;
    begin
    BC := PreProcess_BMH_BC(SuchWort);
    with BC do
    begin
    n := Length(SuchText);
  • Forum: FreePascal

    AW: Boyer Moore Algorithmus

     
      by Ginko, 6. Jun 2013
    So jetzt läufts, ab 2 oder 3 Zeichen wird der BMH deutlich schneller.

    Ab einer gewissen Länge des Suchwortes wird die Standard Funktion bei mir aber wieder schneller, ist das normal ?

    Hier nochmal der der Angepasste Code mit Test:
  • Forum: FreePascal

    AW: Boyer Moore Algorithmus

     
      by Ginko, 6. Jun 2013
    Danke für den Hinweis das werde ich mal versuchen, hört sich plausibel an.
  • Forum: FreePascal

    AW: Boyer Moore Algorithmus

     
      by Ginko, 6. Jun 2013
    Hi und Danke für die Antworten.
    Im Anhang ist ein Projekt welches eine Testdatei erstellen kann (Zeilenlänge nach Wahl) und die Zeit mit dem QueryPerformanceCounter misst.
    Zum testen habe ich den Code von Furtbichler genommen, allerdings musste ich ihn noch etwas anpassen, damit das mit dem Offset klappt.
    Gezählt wird jetzt jedenfalls absolut korrekt. Aber BMH ist bis zu 5 mal langsamer....
  • Forum: FreePascal

    AW: Boyer Moore Algorithmus

     
      by Ginko, 5. Jun 2013
    Hier ist mal mein Versuchsaufbau:
    unit Unit1;
    {$mode objfpc}{$H+}

    interface

    uses
    Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls, BMH, strutils;

    type
  • Forum: FreePascal

    AW: Boyer Moore Algorithmus

     
      by Ginko, 5. Jun 2013
    Zur Sicherheit habe ich mal nicht meine NextPos geholt, sondern hier diese http://www.swissdelphicenter.ch/de/showcode.php?id=474. Wenn ich hier Pos mit Search_BMH_Unrolled ersetze fehlen immer ein haufen Wörter.
    function NextPosSwiss(SearchStr, Str: string; Position: Integer): Integer;
    begin
    Delete(Str, 1, Position - 1);
    Result := Search_BMH_Unrolled(Str,SearchStr); //Pos(SearchStr,...
  • Forum: FreePascal

    AW: Boyer Moore Algorithmus

     
      by Ginko, 5. Jun 2013
    Danke, den hatte ich auch grad gefunden nur etwas weniger ausführlich. Beim testen fehlen aber fast die Hälfte der Wörter. Vielleicht habe ich auch einen Fehler in der NextPos Funktion, muss mal schauen.
  • Forum: FreePascal

    AW: Boyer Moore Algorithmus

     
      by Ginko, 5. Jun 2013
    Danke für die Antwort. Schade das die fehlerhaft sind...

    So eine ähnliche Implementierung hatte ich schon. Ich werde das ganze mal noch hier mit versuchen http://www.delphipraxis.net/712289-post42.html. Allerdings meckert hier Lazarus bei einigen Assemblerbefehelen.

    Z.B. hier:
    @FillSkip: movzx edx, // SearchFor

    FastPosUnit.pas(85,30) Error: Asm: invalid combination of opcode and...
  • Forum: FreePascal

    Boyer Moore Algorithmus

     
      by Ginko, 4. Jun 2013
    Hallo, hier diese Klasse http://www.delphipraxis.net/108604-post5.html, zum durchsuchen von Textdateinen, teste ich gerade. Allerdings gehen ab und zu ein paar Wörter verloren...
    Ich weiß jetzt nicht ob es an Lazarus liegt oder ob ich sonst ein Fehler eingebaut habe.

    Den Code, den ich aus dem oben verlinkten Projekt übernommen habe und unter Lazarus zum laufen gebracht habe, ist im Anhang....


URL zu dieser Suchanfrage:

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