• Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

Zeitpunkt zum Config auslesen

Sabbertran

Kuhfänger
Registriert
24 April 2012
Beiträge
75
Diamanten
0
Minecraft
Sabbertran
Hey,
ich habe bis jetzt immer Werte welche in der config.yml stehen beim Start des Plugins in Variablen gespeichert.
Jetzt stellt sich mir nur die Frage ob das überhaupt notwendig ist oder ob man einfach zu jedem X-beliebigen Zeitpunkt die Werte auslesen kann.

Gibts da Performance Unterschiede o.ä. von denen man wissen sollte?

Gruß
Sabbertran
 

Chrisliebär❤️

nur echt mit ❤️
Moderator
Registriert
19 Mai 2014
Beiträge
1.675
Diamanten
830
Wenn du im Hauptthread Werte benutzt solltest du diese nicht jedes mal aus der Datei laden, dadurch entstehen gewaltige Latenzen. Insbesondere wenn die Festplatte gerade mit etwas anderem beschäftigt ist, aber selbst eine Datei von einer SSD zu lesen braucht im vergleich zu einem Wert im RAM oder gar Cache eine Ewigkeit.
 

Sabbertran

Kuhfänger
Registriert
24 April 2012
Beiträge
75
Diamanten
0
Minecraft
Sabbertran
Wenn du im Hauptthread Werte benutzt solltest du diese nicht jedes mal aus der Datei laden, dadurch entstehen gewaltige Latenzen. Insbesondere wenn die Festplatte gerade mit etwas anderem beschäftigt ist, aber selbst eine Datei von einer SSD zu lesen braucht im vergleich zu einem Wert im RAM oder gar Cache eine Ewigkeit.
Das habe ich mir auch schon gedacht.
Jedoch weiß ich nicht ob die FileConfiguration die man über getConfig() erhält die Werte jedesmal von der Platte liest oder auch schon irgendwo im RAM zwischenspeichert.
 

FelixKlauke

Erzengel
Ehem. Teammitglied
Registriert
5 Januar 2014
Beiträge
1.038
Diamanten
299
Minecraft
FelixKlauke
Das habe ich mir auch schon gedacht.
Jedoch weiß ich nicht ob die FileConfiguration die man über getConfig() erhält die Werte jedesmal von der Platte liest oder auch schon irgendwo im RAM zwischenspeichert.


Die list du jedesmal aus der Festplatte aus.
 

MiCrJonas

Threadripper
Registriert
29 Oktober 2012
Beiträge
1.064
Diamanten
0
Die list du jedesmal aus der Festplatte aus.
Nein, getConfig() lädt nur von der Festplatte geladen, wenn die konfiguration noch nicht geladen wurde. Ansonsten lädt nur reloadConfig() die Konfiguration von der Festplatte.
Aus dem Bukkit-Wiki:
The first time getConfig() is invoked on your plugin, config.yml is loaded from disk, and default values are loaded from the jar. Subsequent invocations of getConfig() will return the existing FileConfiguration object that is in memory. Operations performed on this object will not be written to disk unless explicitly saved. Likewise, any modifications done after the file has been loaded will not be reflected in the object. If config.yml does not exist in your data folder, it is equivalent to an empty config.yml, and will load an empty FileConfiguration.
http://wiki.bukkit.org/Configuration_API_Reference

Die Werte solltest du trotzdem noch einmal in einer Variable speichern. Denn je länger ein Pfad ist (Mehr '.'), desto länger braucht es, um die Variable auszulesen.
 

Chrisliebär❤️

nur echt mit ❤️
Moderator
Registriert
19 Mai 2014
Beiträge
1.675
Diamanten
830
Die Werte solltest du trotzdem noch einmal in einer Variable speichern. Denn je länger ein Pfad ist (Mehr '.'), desto länger braucht es, um die Variable auszulesen.
Steht das irgendwo in der API oder hast du das im Quellcode gefunden? Für mich macht das wenig sinn, der Wert wird vermutlich in einer Hashtabelle gespeichert, da spielt die länge des Keys nur eine untergeordnete Rolle.
 
X

|| xX [DEV][LP] Ms. DivaCraft Xx ||

Guest
Oben