-
Forum: Software-Projekte der Mitglieder
by Motzi,
15. Mär 2008
Neue Version ist online - siehe erstes Posting.
Hardcore-Test-Ergebnisse folgen noch...
Gruß, Motzi
-
Forum: Software-Projekte der Mitglieder
by Motzi,
12. Mär 2008
Danke, aber die neue Version ist wie gesagt nochmal um einiges schneller..! ;)
Ist vorgemerkt!
War ohnehin geplant, muss mir nur noch überlegen wie/wo, da komplette Pfade doch recht lang werden können.
Das ist gewollt. Das ist der preprocessed code - alle Vorkommen dieses Duplikats (die Kindknoten) haben denselben preprocessed code, auch wenn der Original code (den du siehst wenn...
-
Forum: Software-Projekte der Mitglieder
by Motzi,
12. Mär 2008
Ich hab gestern ein paar Tests mit Objekt-Pools gemacht -> bringt eigentlich nichts!
Konkret hab ich die NewInstance-Methode von TObject so überschrieben, dass der Speicherbereich für zB 10.000 Instanzen reserviert wird. Wenn nun ein Objekt erzeugt wird und noch Platz in diesem Block frei ist wird dem Objekt dieser Platz zugeordnet. Ist kein Platz mehr frei wird ein neuer Block/Pool angelegt....
-
Forum: Software-Projekte der Mitglieder
by Motzi,
11. Mär 2008
Hab ich weiter ob irgendwo geschrieben, hat sich inzwischen aber ein bisschen reduziert. Ich verwende Delphi 2006, ich glaub seit Delphi 2005 hat Borland den eigenen MemoryManager durch den von Fast4MM ersetzt. Ich verwende ihn also bereits. ;)
Das ist natürlich fraglich, aber es ist trotzdem ganz interessant zu wissen wie das Programm mit solch großen Datenmengen umgeht! Denn ausgehend davon...
-
Forum: Software-Projekte der Mitglieder
by Motzi,
11. Mär 2008
Ich alloziere den Speicher nicht direkt, sondern erzeuge einfach nur Instanzen von Objekten - den Rest überlass ich dem Delphi MemoryManager. Ich könnte mir aber überlegen ob es sinnvoll wäre gleich ganze Objekt-Pools anzulegen...
Nein, nur "Update" funktioniert auch nicht, da dann zB der Cancel-Button nicht mehr gedrückt werden kann. Und ich verwende kein Synchronize! ;) Ich schicke...
-
Forum: Software-Projekte der Mitglieder
by Motzi,
11. Mär 2008
Danke, deine letzte Version ist aber auch echt nicht schlecht! :) Einen nicht zu verachtenden Teil dieser Geschwindigkeitssteigerung macht der Thread, da jetzt keine ständigen Application.ProcessMessages Aufrufe mehr notwendig sind! Auf diese Weise könntest du sicher auch noch einiges rausholen.
Wie meinst du das? Bei meinen Tests haben die neue und die alte Version die komplett gleichen...
-
Forum: Software-Projekte der Mitglieder
by Motzi,
11. Mär 2008
Eine neue Version mit einigen kleinen Änderungen ist online - siehe erstes Posting!
-
Forum: Software-Projekte der Mitglieder
by Motzi,
9. Mär 2008
Ja, wir haben unterschiedliche Systeme mit Duplikaten umzugehen. Ich hab zwei verschiedene Klassen: TDuplicate und TDuplicateSource, wobei ein Duplikat mehrere Sources haben kann. Wenn ein Duplikat gefunden wurde, dann wird geschaut ob es bereits eine TDuplicate-Instanz mit demselben preprocessed code gibt, ansonsten wird eine neue Instanz erzeugt.
Das wollte ich eigentlich vermeiden, wäre...
-
Forum: Software-Projekte der Mitglieder
by Motzi,
9. Mär 2008
Wow.. ok, so einen Hardcore-Test hab ich noch nicht gemacht! Es wundert mich aber auch nicht wirklich, dass da dann irgendwann der Speicher ausgeht! Pro "preprocessed line" wird ein 48-Byte großes Objekt erzeugt, und außerdem noch eine sortierte Liste ohne Duplikate in die alle Zeilen eingefügt werden und über die verkettete Listen erstellt werden (die TPreprocessedLine Instanzen werden...
-
Forum: Software-Projekte der Mitglieder
by Motzi,
8. Mär 2008
Neue Version ist fertig (siehe erstes Posting)!
Hab gerade einen Hardcore-Test gemacht:
Files: 947
Original lines: 292.041
Preprocessed lines: 152.783
Comparisons: 665.512.367
Duplicates: 544
Duplicates sources: 1675
Time: 52.250ms
-
Forum: Software-Projekte der Mitglieder
by Motzi,
6. Mär 2008
Ist bereits in Planung! :) Dürfte vermutlich auch nicht allzu kompliziert werden, wird also wohl in den nächsten Tagen kommen...
-
Forum: Software-Projekte der Mitglieder
by Motzi,
6. Mär 2008
Neue Version ist online, diverse Bugs sind gefixt (falsche Zeilen im Duplikat, "List index out of bounds" Exception).
Details siehe erstes Posting.
Gruß, Motzi
-
Forum: Software-Projekte der Mitglieder
by Motzi,
5. Mär 2008
Wie gesagt.. wir korrigiert - oder besser gesagt, ist bereits korrigiert, neue Version kommt vermutlich noch heute! :)
Wurde weiter oben bereits angemerkt. Es ist mir gestern selbst noch aufgefallen, dass das nicht immer ganz stimmt, allerdings leider erst nachdem ich das Programm hier gepostet hab. Ist aber inzwischen schon korrigiert!
Naja, das könnte man natürlich schon während des...
-
Forum: Software-Projekte der Mitglieder
by Motzi,
5. Mär 2008
Bis jetzt ist das Programm nur zur Verwendung mit pas-Files gedacht, eine Exception sollte natürlich trotzdem nicht auftreten! Werd das fixen!
-
Forum: Software-Projekte der Mitglieder
by Motzi,
5. Mär 2008
Erstmal danke für die vielen Kommentare! :)
Ist mir gestern nach schreiben des Beitrags auch aufgefallen - ist inzwischen gefixt.
Ich weiß.. ich werd versuchen noch eine bessere Beschreibung dazu zu finden...
Ok, ich mach die Spalten ein bisschen breiter.. :)
Gute Idee...
-
Forum: Software-Projekte der Mitglieder
by Motzi,
5. Mär 2008
Hi,
erstmal vorweg - ich weiß, dass es so ein Programm vor kurzem schonmal hier gab (DupeChecker). Tatsächlich hat mich dieses Programm sogar dazu inspiriert meine eigene Version zu schreiben, da ich in einigen Punkten nicht ganz glücklich damit war (siehe dazu mein Posting im Thread zu dem Programm).
Ich habe daher beschlossen mein eigenes Programm zu schreiben und versucht die von mir...