Seite 5 von 6

Re: Entgeltliche Optimierung eines Agent-based models

Verfasst: Fr Nov 16, 2018 10:51 am
von Anti
jogo hat geschrieben: Fr Nov 16, 2018 10:43 amDann benötigst Du also eine Beschleunigung um den Faktor 200000. :shock:
Wenn es um einen Faktor von 20 bis 50 ginge, wäre ich halbwegs optimistisch, dass sich das durch besseren Code realisieren lässt
Nun, natürlich weiß ich, daß das Viel verlangt ist. Und andererseits wußte ich ja auch vorher schon, daß mein Code nicht optimal geschrieben ist. Wieviel man damit rausholen kann, weiß ich leider nicht zu beziffern. Was ich jedoch anderenorts über Optimierungen gelesen habe, hat mich hoffen lassen (beispielsweise eine Beschleunigung um den Faktor 10000 durch Rcpp, etc.). Und dann das Gerede, daß R mit anderen Sprachen gleich performt ... Aber nun scheints ja ganz hoffnungslos zu sein. Im zuvor genannten Paper dauert die Implementierung ca. 2 min. Naja, trotzdem Danke!

Re: Entgeltliche Optimierung eines Agent-based models

Verfasst: Fr Nov 16, 2018 11:09 am
von jogo
Anti hat geschrieben: Fr Nov 16, 2018 10:51 amWas ich jedoch anderenorts über Optimierungen gelesen habe, hat mich hoffen lassen (beispielsweise eine Beschleunigung um den Faktor 10000 durch Rcpp, etc.). Und dann das Gerede, daß R mit anderen Sprachen gleich performt ...
Rcpp macht etwas ganz anderes. Meine Schätzung bezieht sich nur auf die Möglichkeit, besseren R-Code zu schreiben.

das Gerede, daß R mit anderen Sprachen gleich performt bezieht sich meiner Meinung nach auf einen völlig anderen Bereich:
a) lineare Algebra
b) datenbankähnliche Operationen.

Vielleicht klemmt die Säge auch an einer völlig anderen Stelle. Vielleicht schleppst Du gleich von Anfang an viel zu viele Daten rum (die vielen Zeilen, die erstmal NA gesetzt sind).
Aber nun scheints ja ganz hoffnungslos zu sein. Im zuvor genannten Paper dauert die Implementierung ca. 2 min.
Ist die Implementierung im Artikel angegeben? Schleppt auch die Implementierung der Autoren des Artikels gleich von Anfang an eine solche große Datenmenge mit sich rum?

Warum zeigst Du uns erst jetzt den zugrunde liegenden Artikel? :?

Gruß, Jörg

Re: Entgeltliche Optimierung eines Agent-based models

Verfasst: Fr Nov 16, 2018 11:13 am
von Anti
jogo hat geschrieben: Fr Nov 16, 2018 11:09 amIst die Implementierung im Artikel angegeben? Schleppt auch die Implementierung der Autoren des Artikels gleich von Anfang an eine solche große Datenmenge mit sich rum?
Nein, leider nur verbal geschrieben. Daß ich von Anfang an meine Daten so groß angelegt habe liegt daran, daß ich mehrfach gelesen habe, daß die dynamische Erweiterung von Matrizen/Dataframes/Vektoren in Loops viel mehr Zeit frißt.

Re: Entgeltliche Optimierung eines Agent-based models

Verfasst: Fr Nov 16, 2018 11:21 am
von jogo
Ich habe den Artikel überflogen und da steht auf Seite 19:
SOFTWARE
The source code for the agent-based model, with associated documentation, is freely available
from the model library run by the OpenABM consortium:
https://www.openabm.org/model/5014

Anti hat geschrieben: Fr Nov 16, 2018 11:13 am
jogo hat geschrieben: Fr Nov 16, 2018 11:09 amIst die Implementierung im Artikel angegeben? Schleppt auch die Implementierung der Autoren des Artikels gleich von Anfang an eine solche große Datenmenge mit sich rum?
Nein, leider nur verbal geschrieben. Daß ich von Anfang an meine Daten so groß angelegt habe liegt daran, daß ich mehrfach gelesen habe, daß die dynamische Erweiterung von Matrizen/Dataframes/Vektoren in Loops viel mehr Zeit frißt.

Re: Entgeltliche Optimierung eines Agent-based models

Verfasst: Fr Nov 16, 2018 11:34 am
von jogo
Anti hat geschrieben: Fr Nov 16, 2018 11:13 am
jogo hat geschrieben: Fr Nov 16, 2018 11:09 amIst die Implementierung im Artikel angegeben? Schleppt auch die Implementierung der Autoren des Artikels gleich von Anfang an eine solche große Datenmenge mit sich rum?
Nein, leider nur verbal geschrieben. Daß ich von Anfang an meine Daten so groß angelegt habe liegt daran, daß ich mehrfach gelesen habe, daß die dynamische Erweiterung von Matrizen/Dataframes/Vektoren in Loops viel mehr Zeit frißt.
Das ist alles relativ zu sehen - nämlich relativ zu dem Aufwand der sonst getrieben wird.
Richtig ist die Aussage oben dann, wenn man z.B. weiß, wie groß eine Matrix am Ende wird, und diese Matrix Zeile für Zeile erzeugt.
Ganz konsequent bist Du der Aussage oben auch nicht gefolgt in Deinem Code ...

Code: Alles auswählen

              autosomes                            <- rbind(autosomes, NA)                 #expand autosomes by 1 row
Auch das Rumschleppen zu großer Datenmengen, besonders dann, wenn man dann noch zusätzliche Kopfstände machen muss, um nur auf einem Teil der Daten zu arbeiten, kann auch viel Zeit kosten.

Gruß, Jörg

Re: Entgeltliche Optimierung eines Agent-based models

Verfasst: Fr Nov 16, 2018 11:43 am
von Anti
jogo hat geschrieben: Fr Nov 16, 2018 11:21 am Ich habe den Artikel überflogen und da steht auf Seite 19:
SOFTWARE
The source code for the agent-based model, with associated documentation, is freely available
from the model library run by the OpenABM consortium:
https://www.openabm.org/model/5014
Ja, zugegebenermaßen. Das hatte ich vergessen. Aber auch in einer Sprache geschrieben, die ich nicht beherrsche. Daher hatte ich nur einen kurzen Blick drauf geworfen.

Re: Entgeltliche Optimierung eines Agent-based models

Verfasst: Fr Nov 16, 2018 1:30 pm
von Athomas
Aber auch in einer Sprache geschrieben, die ich nicht beherrsche. Daher hatte ich nur einen kurzen Blick drauf geworfen.
Hast Du da irgendwo Quelltext entdeckt - ich nicht!?

Re: Entgeltliche Optimierung eines Agent-based models

Verfasst: Fr Nov 16, 2018 1:39 pm
von jogo
Hallo Thomas,
Athomas hat geschrieben: Fr Nov 16, 2018 1:30 pm
Aber auch in einer Sprache geschrieben, die ich nicht beherrsche. Daher hatte ich nur einen kurzen Blick drauf geworfen.
Hast Du da irgendwo Quelltext entdeckt - ich nicht!?
auf der angegebenen Seite gibt es den Download:
https://www.comses.net/codebases/5014/r ... /download/
Drin enthalten sind in den 93 MB eine kurze Dokumentation für die Nutzer und das Java-Archiv isea_installer.jar
Sollte der Quelltext nicht enthalten sein, wird man sich diesbezüglich an die Autoren des Artikel wenden müssen, da die Autoren auf Seite 19 die Verfügbarkeit des Quelltextes zugesagt haben.

Gruß, Jörg

Re: Entgeltliche Optimierung eines Agent-based models

Verfasst: Fr Nov 16, 2018 1:47 pm
von Athomas
Hatte ich gesehen, "isea_installer.jar" ist eine ausführbare Java-Datei :? ...

Re: Entgeltliche Optimierung eines Agent-based models

Verfasst: Fr Nov 16, 2018 1:54 pm
von jogo
Athomas hat geschrieben: Fr Nov 16, 2018 1:47 pm Hatte ich gesehen, "isea_installer.jar" ist eine ausführbare Java-Datei :? ...
genau. Auch ich mache an der Stelle nicht weiter, weil ich sonst auch nichts mit Java zu tun habe.
Aber wenn es um meine Diss ginge (das war vor etwa 29 Jahren), würde ich mir in der Umgebung jemanden suchen, der mit solchen Teilen umgehen kann. Dann könnte man die Simulation mal laufen lassen und mal schauen, ob der installer die Quelltexte irgendwo hinpackt. Nebenbei kann man auch die Laufzeit überprüfen - vielleicht hatten die Autoren einen besseren Computer zur Verfügung.
Wenigstens die Struktur der Programmierung sollte man sich angucken. Man muss ja nicht gleich selber in der Programmiersprache werkeln können. (Ohnehin ist die Grundstruktur von Java nicht so verschiedenen von den üblichen Programmiersprachen. Wenn es sich nicht um eine Programmiersprache mit einem völlig anderen konzeptionellen Entwurf (wie z.B. Prolog, FORTH, COBOL) handelt, sollte das halbwegs flüssige Lesen nach wenigen Tagen möglich sein.)

In der Dokumentation ist die Installation des Systems beschrieben: ist wirklich nicht schwer.

Gruß, Jörg