Delphi-PRAXiS
Seite 4 von 4   « Erste     234   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   DoubleSource - Duplikate im Source finden v0.4.1 (https://www.delphipraxis.net/109641-doublesource-duplikate-im-source-finden-v0-4-1-a.html)

hoika 11. Mär 2008 13:42

Re: DoubleSource - Duplikate im Source finden v0.3.1
 
Hallo,

wie gross ist denn ein Objekt bei dir ?
Schon mal FastMM4 ausprobiert ?


Heiko

toms 11. Mär 2008 13:47

Re: DoubleSource - Duplikate im Source finden v0.3.1
 
Zitat:

Zitat von Union
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:
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
Du solltest Dir mal anschauen, wie Du den Speicher anforderst. Teilweise merkt man das richtig, dass er in Intervallen realloziert und anhält.

Macht es überhaupt Sinn, soviele Dateien aufs Mal zu analysieren?

Motzi 11. Mär 2008 13:56

Re: DoubleSource - Duplikate im Source finden v0.3.1
 
Zitat:

Zitat von hoika
wie gross ist denn ein Objekt bei dir ?
Schon mal FastMM4 ausprobiert ?

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. ;)
Zitat:

Zitat von toms
Macht es überhaupt Sinn, soviele Dateien aufs Mal zu analysieren?

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 kann man sich natürlich weitere Maßnahmen überlegen die sich auch bei kleineren Analysen positiv auswirken können. :)

Motzi 12. Mär 2008 12:09

Re: DoubleSource - Duplikate im Source finden v0.3.1
 
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. Dadurch wird die Anzahl der Speicherreservierungen drastisch reduziert.
Ich hab dann in einer Schleife 10.000.000 Instanzen erzeugt, einmal normale Objekte, einmal von meiner Pool-Klasse. Ergebnis: es ist eigentlich kein Unterschied messbar! Möglicherweise ist die Pool-Variante geringfügig schneller, aber wenn die Gesamtlaufzeit ~2 Sekunden dauert machen ein paar ms auch keinen Unterschied mehr.

Ich hatte gestern aber eine andere Idee mit der ich den Speicherverbrauch geringfügig senken und die Laufzeit um das bis zu 6-fache beschleunigen konnte.

Gruß, Motzi

hoika 12. Mär 2008 12:35

Re: DoubleSource - Duplikate im Source finden v0.3.1
 
Hallo,

jo ist fix;)
ein paar Anmerkungen / Bitten.

1. Folder ohne Unterverzeichnisse, also nur die Dateien
des ausgewählten Folders

2. Pfadangaben der Dateien
Vielleicht sollte man die in eine zusätzlich Status-Anzeige packen ?
Also den kompletten Pfad der gerade ausgewählten Datei anzeigen.

3. Klicke ich auf den RootNode (Length ...),
zeigt er rechts den (welchen ?) Quellcode in Grossbuchstaben an,
ist das gewollt ?

4. Schutzverletzung bei folgendem

- 1 Verzeichnis komplett analysieren
- Length anklicken -> das Compare (Toolbar ganz rechts ist aktiviert)
- 1 Verzeichnis analysieren, vorher abbrechen
- Toolbar-Button ist immer noch aktiv
Klicken -> Plautz ;)

5. Compare
wenn es nur 2 Dateien sind, könnte man die in je
einen der ComboBoxen eintragen


Ansonsten nettes kleines Tool


Heiko

Union 12. Mär 2008 13:09

Re: DoubleSource - Duplikate im Source finden v0.3.1
 
Zitat:

Zitat von toms
Zitat:

Zitat von Union
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:
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
Du solltest Dir mal anschauen, wie Du den Speicher anforderst. Teilweise merkt man das richtig, dass er in Intervallen realloziert und anhält.

Macht es überhaupt Sinn, soviele Dateien aufs Mal zu analysieren?

Ja, duchaus, sonst würde ich es nicht machen. Ausserdem kann man ja auch mehrere Teilprojekte zusammen analysieren, um dann bestimmte Dinge in gemeinsame Module zu verlagern, was dann den Wartungsaufwand reduziert.

Motzi 12. Mär 2008 16:30

Re: DoubleSource - Duplikate im Source finden v0.3.1
 
Zitat:

Zitat von hoika
jo ist fix;)
ein paar Anmerkungen / Bitten.

Danke, aber die neue Version ist wie gesagt nochmal um einiges schneller..! ;)

Zitat:

1. Folder ohne Unterverzeichnisse, also nur die Dateien des ausgewählten Folders
Ist vorgemerkt!

Zitat:

2. Pfadangaben der Dateien
Vielleicht sollte man die in eine zusätzlich Status-Anzeige packen ? Also den kompletten Pfad der gerade ausgewählten Datei anzeigen.
War ohnehin geplant, muss mir nur noch überlegen wie/wo, da komplette Pfade doch recht lang werden können.

Zitat:

3. Klicke ich auf den RootNode (Length ...), zeigt er rechts den (welchen ?) Quellcode in Grossbuchstaben an, ist das gewollt ?
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 du auf einen der Kindknoten klickst) ein bisschen anders ausschaut.

Zitat:

4. Schutzverletzung bei folgendem
- 1 Verzeichnis komplett analysieren
- Length anklicken -> das Compare (Toolbar ganz rechts ist aktiviert)
- 1 Verzeichnis analysieren, vorher abbrechen
- Toolbar-Button ist immer noch aktiv
Klicken -> Plautz ;)
Danke, wird gefixt!

Zitat:

5. Compare
wenn es nur 2 Dateien sind, könnte man die in je einen der ComboBoxen eintragen
Jap, so was in der Richtung ist bereits geplant! :)

Gruß, Motzi

Motzi 15. Mär 2008 18:18

Re: DoubleSource - Duplikate im Source finden v0.3.1
 
Neue Version ist online - siehe erstes Posting.

Hardcore-Test-Ergebnisse folgen noch...

Gruß, Motzi


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:22 Uhr.
Seite 4 von 4   « Erste     234   

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