...und wenn du das jetzt auch noch aufsägst...bjew hat geschrieben: das Sieb in meinem Kopf .......
Plugin: Personeninseln finden
Hallo,
ich habe die neue Version mit meinen ca. 4000 Personen getestet. Es dauerte nur noch 3 min und 3 sek.
Am Anfang ist der Fortschritt der Verarbeitung zwar langsam, aber gegen Ende der Verarbeitungszeit geht´s um so schneller voran.
Tolle Leistung.
Danke.
Mein System: WIN XP home,
Gruß
Jürgen
ich habe die neue Version mit meinen ca. 4000 Personen getestet. Es dauerte nur noch 3 min und 3 sek.
Am Anfang ist der Fortschritt der Verarbeitung zwar langsam, aber gegen Ende der Verarbeitungszeit geht´s um so schneller voran.
Tolle Leistung.
Danke.
Mein System: WIN XP home,
Gruß
Jürgen
Gruß
Jürgen
Jürgen
- DirkB
- Administrator
- Beiträge: 1880
- Registriert: 20.01.2006, 20:25
- Wohnort: Hamburg
- Hat sich bedankt: 43 Mal
- Danksagung erhalten: 190 Mal
Hallo, Thomas,
tolle Arbeit!
In der neuesten Beta-Version kann man in der .abp Datei beim CSV-Speichern vorgeben, ob ANSI oder UNICODE ("CSVFile-ANSI" oder "CSVFile-Unicode" - Groß-/Kleinschreibung egal). "CSVFile" bedeutet dann "durch Ahnenblatt bestimmt". Wer mag kann seine abp-Datei manuell anpassen ...
Gruß, Dirk.
tolle Arbeit!
In der neuesten Beta-Version kann man in der .abp Datei beim CSV-Speichern vorgeben, ob ANSI oder UNICODE ("CSVFile-ANSI" oder "CSVFile-Unicode" - Groß-/Kleinschreibung egal). "CSVFile" bedeutet dann "durch Ahnenblatt bestimmt". Wer mag kann seine abp-Datei manuell anpassen ...
Gruß, Dirk.
Hallo Dirk,
danke für den Hinweis. Das habe ich doch glatt gemacht. Das erspart mir nun die "Unicode-Erzwingung". Außerdem braucht der BND nun auch nicht mehr rätseln, was ich meinen Kampfgenossen mit diesem arabischen Zeichen sagen willDirkB hat geschrieben:In der neuesten Beta-Version kann man in der .abp Datei beim CSV-Speichern vorgeben, ob ANSI oder UNICODE ("CSVFile-ANSI" oder "CSVFile-Unicode" - Groß-/Kleinschreibung egal). "CSVFile" bedeutet dann "durch Ahnenblatt bestimmt". Wer mag kann seine abp-Datei manuell anpassen ...
Gruß, Torquatus
C.c. - Übrigens stelle ich den Antrag, dass Ahnenblatt das beste aller Ahnenprogramme werden muss - frei nach Cato
C.c. - Übrigens stelle ich den Antrag, dass Ahnenblatt das beste aller Ahnenprogramme werden muss - frei nach Cato
Hallo Flash !
Momentan vergleiche ich die Ref-Nummern jeder Person mit jeder, dann auch noch in String-Form. Was massig Zeit kostet.
Das String-Feld wird immer redimensioniert was (glaub ich) massig Zeit kostet mit Speicherzuweisung und -fragmentierung.
Demnächst will ich mir einfach eine Matrix anlegen und mit Long Variablen arbeiten. Das dürfte hoffentlich fixer gehen.
Kostet zwar mehr Speicher, aber das sollte ja bei den heutigen PC's nicht mehr das Problem sein.
Wenn der neue Quellcode dann steht, kann ich dir ja mehr sagen.
Gruß: Thomas
Momentan vergleiche ich die Ref-Nummern jeder Person mit jeder, dann auch noch in String-Form. Was massig Zeit kostet.
Das String-Feld wird immer redimensioniert was (glaub ich) massig Zeit kostet mit Speicherzuweisung und -fragmentierung.
Demnächst will ich mir einfach eine Matrix anlegen und mit Long Variablen arbeiten. Das dürfte hoffentlich fixer gehen.
Kostet zwar mehr Speicher, aber das sollte ja bei den heutigen PC's nicht mehr das Problem sein.
Wenn der neue Quellcode dann steht, kann ich dir ja mehr sagen.
Gruß: Thomas
Ich denke es könnte schon helfen, wenn du deine Suche als Tiefensuche implementierst. Die Abgearbeiteten Knoten in einem Vector/Liste hälst. Und ebenso die Suchfront als Queue in einer Liste hälst.
Speicher anfordern und freigeben ist denk ich ne echte bremse. Die Listen haben den vorteil, dass du relativ fix daten ablegen und durchsuchen kannst.
Wenn du mit Java arbeitest, unterstützen die dortigen Vectoren auch "contains()". Damit kann man die Liste fragen, ob ein Objekt schon in der Liste enthalten ist.
Alternativ wäre eine Hashtable nicht schlecht. Damit kannst du schnell prüfen, ob ein Knoten schonmal abgelegt wurde.
Speicher anfordern und freigeben ist denk ich ne echte bremse. Die Listen haben den vorteil, dass du relativ fix daten ablegen und durchsuchen kannst.
Wenn du mit Java arbeitest, unterstützen die dortigen Vectoren auch "contains()". Damit kann man die Liste fragen, ob ein Objekt schon in der Liste enthalten ist.
Alternativ wäre eine Hashtable nicht schlecht. Damit kannst du schnell prüfen, ob ein Knoten schonmal abgelegt wurde.
Mahlzeit !
Update im Anhang.
Läuft mit AB 2.50 Beta3
Damit muß kein arabisches Zeichen mehr in die Anmerkungen kopiert werden, sondern es sollte mit jeder Datei funktionieren.
Geschwindigkeit dürfte nun auch passen.
Also bitte probieren und dann "meckern"
Gruß: Thomas
Edit: Anhang entfernt
Update im Anhang.
Läuft mit AB 2.50 Beta3
Damit muß kein arabisches Zeichen mehr in die Anmerkungen kopiert werden, sondern es sollte mit jeder Datei funktionieren.
Geschwindigkeit dürfte nun auch passen.
Also bitte probieren und dann "meckern"
Gruß: Thomas
Edit: Anhang entfernt
Zuletzt geändert von ThomasG am 05.05.2008, 22:14, insgesamt 1-mal geändert.
Hallo Thomas,
ich bin begeistert - kein Grund zum meckern.
Bei meinen ca. 4000 Personen dauert das Ganze unter 2 sec. wobei das Abspeichern als csv-File noch den größten Zeitanteil hat - sofern ich das überhaupt bei der Geschwindigkeit richtig beurteilen kann.
Wahnsinn.
Tolle Leistung
Gruß
Jürgen
ich bin begeistert - kein Grund zum meckern.
Bei meinen ca. 4000 Personen dauert das Ganze unter 2 sec. wobei das Abspeichern als csv-File noch den größten Zeitanteil hat - sofern ich das überhaupt bei der Geschwindigkeit richtig beurteilen kann.
Wahnsinn.
Tolle Leistung
Gruß
Jürgen
Gruß
Jürgen
Jürgen
So, noch ein fixes Update um die Tageszeit.
Nun werden auch bei größeren Datenmengen alle Personen angezeigt und die Inseln können einzeln im csv-Format exportiert werden, um sie dann in AB importieren zu können.
Anhang entfernt
Nun werden auch bei größeren Datenmengen alle Personen angezeigt und die Inseln können einzeln im csv-Format exportiert werden, um sie dann in AB importieren zu können.
Anhang entfernt
Zuletzt geändert von ThomasG am 13.05.2008, 09:07, insgesamt 2-mal geändert.
Hallo Thomas,
tolle Idee- funktioniert einwandfrei.
Du kennst Dich doch so gut aus ! - gibt es einen Befehl um aus einer abp-Datei heraus eine GEDCOM-Datei anzulegen?
Ich frage mich immer noch, woher du wußtest, dass der Befehl "csvfile" funktionierte. Du warst ja schließlich der erste, der solche Plugins programmierte. War das irgendwo dokumentiert?
Gruß
Jürgen
tolle Idee- funktioniert einwandfrei.
Du kennst Dich doch so gut aus ! - gibt es einen Befehl um aus einer abp-Datei heraus eine GEDCOM-Datei anzulegen?
Ich frage mich immer noch, woher du wußtest, dass der Befehl "csvfile" funktionierte. Du warst ja schließlich der erste, der solche Plugins programmierte. War das irgendwo dokumentiert?
Gruß
Jürgen
Gruß
Jürgen
Jürgen
Hallo Thomas,
Sensationell, erste Sahne, und nun so schnell wie Ages. Damit hast Du Dir hier ein bleibendes Denkmal gesetzt
Danke für Deine Arbeit
NS. So kann man sich teuschen: Ich schätzte meine Inseln auf über 100, tatsächlich sind es lt. InselFinder 324
ich bin erst nach Mitternacht ins Portal gekommen (habe auch noch andere Baustellen) und habe dann gleich Deine neueste Version ausprobiert.ThomasG hat geschrieben:Nun werden auch bei größeren Datenmengen alle Personen angezeigt und die Inseln können einzeln im csv-Format exportiert werden, um sie dann in AB importieren zu können.
Sensationell, erste Sahne, und nun so schnell wie Ages. Damit hast Du Dir hier ein bleibendes Denkmal gesetzt
Danke für Deine Arbeit
NS. So kann man sich teuschen: Ich schätzte meine Inseln auf über 100, tatsächlich sind es lt. InselFinder 324
Gruß, Torquatus
C.c. - Übrigens stelle ich den Antrag, dass Ahnenblatt das beste aller Ahnenprogramme werden muss - frei nach Cato
C.c. - Übrigens stelle ich den Antrag, dass Ahnenblatt das beste aller Ahnenprogramme werden muss - frei nach Cato