Seite 2 von 8
Verfasst: 30.04.2008, 13:56
von Chlodwig
bjew hat geschrieben: das Sieb in meinem Kopf .......
...und wenn du das jetzt auch noch aufsägst...
Verfasst: 30.04.2008, 18:28
von ThomasG
Mahlzeit die Herren !
Also doch noch nicht der richtige Algorythmus.
Hab aber schon eine neue Idee. Dürfte rein vom logischen her wesentlich schneller werden.
Leider leide ich hier (nicht daheim) an .... ähm.... eigentlich PC-Verbot
und Programmierumgebung fehlt.
Bis denn: Thomas
Verfasst: 30.04.2008, 19:31
von Jürgen T.
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
Verfasst: 30.04.2008, 23:45
von DirkB
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.
Verfasst: 01.05.2008, 21:10
von Flash
Wie sieht denn dein Algorithmus bisher aus?
Verfasst: 01.05.2008, 21:57
von Torquatus
Hallo Dirk,
DirkB 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 ...
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 will
Verfasst: 02.05.2008, 17:28
von ThomasG
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
Verfasst: 04.05.2008, 19:33
von Jürgen T.
Hallo Dirk - oder andere die es wissen,
welche weiteren Befehle gibt es, die man in einer abp-Datei - außer csvfile - aufrufen kann?
Gibt es auch einen Befehl um eine GEDCOM-Datei zu erzeugen?
Gruß
Jürgen
Verfasst: 04.05.2008, 22:02
von Flash
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.
Verfasst: 05.05.2008, 12:27
von ThomasG
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
Verfasst: 05.05.2008, 16:42
von Jürgen T.
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
Verfasst: 05.05.2008, 21:14
von ThomasG
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
Verfasst: 05.05.2008, 21:24
von Jürgen T.
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
Verfasst: 06.05.2008, 00:11
von Torquatus
Hallo Thomas,
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.
ich bin erst nach Mitternacht ins Portal gekommen (habe auch noch andere Baustellen) und habe dann gleich Deine neueste Version ausprobiert.
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