Re: DoubleSource - Duplikate im Source finden v0.2.2
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Motzi
Einige Anmerkungen: 1. Kursive Zahlen werden z.T abgeschnitten (Siehe Bild) 2. Der Focus sollte im Progress Fenster auf dem Button sein. So kann das Fenster mit Enter resp. per Leertaste direkt geschlossen werden. Es stellt sich die Frage, ob ein Progress Fenster überhaupt nötig ist. Eine Progressbar würde es doch auch tun. 3. Verwendest du einen Splitter zwischen SynEdit und VST? Dieser funktioniert nicht richtig. 4. Mögliche Erweiterung: Bei Rechtsklick auf eine Unit im VST ein Kontextmenü anzeigen mit der Möglichkeit, die Unit (in Delphi, Editor) zu öffnen. Ansonsten :thumb: |
Re: DoubleSource - Duplikate im Source finden v0.2.2
Zitat:
die neue Version ist schick, auch der Optionendialog gefällt mir sehr. Allerdings habe ich einen "Extrem" Hardcore-Test gemacht, woraufhin ich den Rechner neu starten musste (per Hardware!). Der Hauptspeicherbedarf ging auf fast 400 MB und dann kam Out of Memory. Vorher kam eine Meldung "Creating datastructures" für mehrere Minuten, dann fing er an zu analysieren, aber nur bis ca. 10% des Progressbars. Dateien: 5.260 Zeilen: 4.956.663 |
Re: DoubleSource - Duplikate im Source finden v0.2.2
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 untereinander verknüpft).
Und pro gefundenes Duplikat werden dann noch mal 1-2 TDuplicateSource Instanzen erzeugt (ebenfalls 48 Bytes groß) und eventuell auch noch eine TDuplicate Instanz (24 Bytes groß). Noch nicht berücksichtigt sind dabei diverse Listen die die Instanz-Zeiger enthalten und natürlich auch nicht die Strings (sowohl Original code als auch preprocessed code)... Schafft es dein Programm diese Datenmengen zu bewältigen? |
Re: DoubleSource - Duplikate im Source finden v0.2.2
Zitat:
Zitat:
Zitat:
Zitat:
Code:
Wie berechnest Du eigentlich die Laufzeit? Ich habe den Eindruck, es ist nur die Analyse Zeit. Bei mir fängt die Zählung an, sobald der User "Start" gedrückt hat.
Files Zeilen Duplikate Vergleiche Dauer sek. Minuten Vergleiche/Sek.
5.260 4.956.663 39167 47.218.981.168 6803,02 113,38 6.940.885,25 |
Re: DoubleSource - Duplikate im Source finden v0.2.2
Zitat:
Zitat:
Zitat:
Zitat:
Gruß, Motzi |
Re: DoubleSource - Duplikate im Source finden v0.3.1
Eine neue Version mit einigen kleinen Änderungen ist online - siehe erstes Posting!
|
Re: DoubleSource - Duplikate im Source finden v0.3.1
Super, das ist ja jetzt 3 Mal so schnell wie vorher. Allerdings ist die Anzahl der Duplikate knapp 3 Mal so groß wie bei der vorherigen Version, bei den gleichen Testfiles.
Was mir noch fehlt ist eine Pfadanzeige der Dateien. Da Du ja standardmäßig alle Unterverzeichnisse durchsuchst, findet man die Dateien sonst schwer. Bei der Anzeige der Sourcen nebeneinander wird beim Öffnen des Fensters nichst angezeigt (Comboboxen sind nicht vorbelegt). Dort sollten dann vielleicht die ersten beiden Duplikate voreingestellt sein. Oder Du läßt in dem VST eine Mehrfachauswahl der Duplikate zu und zeigst dann die selektierten an. |
Re: DoubleSource - Duplikate im Source finden v0.3.1
Zitat:
Zitat:
Zitat:
Zitat:
Gruß, Motzi |
Re: DoubleSource - Duplikate im Source finden v0.3.1
Ich habe heute Nacht nochmal den Monstertest gefahren. Diesmal wurde er zwar fertig, hat aber mit 1,7 GB Hauptspeicherverbrauch meinen Virenscanner Service zum Absturz gebracht. Die "Fertig" Meldung mit Anzahl und Dauer kam noch, aber dann auch Out of Memory.
Code:
Du solltest Dir mal anschauen, wie Du den Speicher anforderst. Teilweise merkt man das richtig, dass er in Intervallen realloziert und anhält.
Dateien Zeilen Duplikate Vergleiche Dauer Minuten Vergleiche/Sek.
5.260 4.952.663 N/A 20.142.551.061 3.084,94 51,42 6.529.316,96 Wegen des Threads hatte ich mir auch schon überlegt. Man kann ja auch Update statt Prozessmessages einsetzen. Und ob das so viel bringt, weil man ja ständig synchronize für die VCL-Zugriffe aufrufen muss? Aber ich hatte eine andere Idee, nämlich die Analyse selber in mehreren Threads parallel laufen zu lassen, die sich die Arbeit teilen (z.B. 5 Threads, jeder nimmt sich 25% der Dateien nach der Vorbereitung). |
Re: DoubleSource - Duplikate im Source finden v0.3.1
Zitat:
Zitat:
Mehrere Threads zu Erzeugen die sich die Arbeit teilen wäre natürlich eine Idee, fragt sich nur ob das wirklich viel bringt und den ganzen Aufwand rechtfertigt. Gruß, Motzi |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:58 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