Serverstatistiken 2020

Scotty1928

Senior
12 Aug 2014
5.416
Wahnsinn!
Die Heatmap ist einfach nur geil zugleich auch erschreckend. Überall wo Zeug von mir rumsteht ist die Map rot uff. Und meine gesamte Zone ist grün aber trotzdem noch im Rohbau... Platz 3 der Kistenöffnungen und trotzdem Chaos im Lager, wenn @AKW1987 nicht ständig aufräumen wüde!
Ich mach wohl was falsch?
trotzdem? Grad weil dein "Lager" ein Chaos ist, würd ich sagen! :D
 

Evoli__

Spieler
18 Aug 2019
334
Joa ich hoffe, bei Elytren auf >MAX_INTEGER zu kommen :D
Sollten die Werte für Elytren bis dahin nicht in long gespeichert werden :)
 
  • Gefällt mir
Wertungen: Daeryc

Evoli__

Spieler
18 Aug 2019
334
Sorry, wir werden zukünftig alle Zentimeterstrecken intern als long speichern, um exakte Zahlen ausgeben zu können (das hatten wir uns beim Erstellen der diesjährigen Statistik überlegt).
Super :D
Dafür braucht ihr euch doch gar nicht zu entschuldigen. Wir schaffen es auch mit int :D

Edit: Wer eine Strecke von 92233720368547758 Blöcken (größer als long wiedergeben kann) hier auf dem Server mit Elytren im Jahr 2021 schafft, bekommt etwas Kleines :D
 
Zuletzt bearbeitet:

fscript

Spieler
27 Okt 2014
2.780
Wer eine Strecke von 92233720368547758 Blöcken (größer als long wiedergeben kann) hier auf dem Server mit Elytren im Jahr 2021 schafft, bekommt etwas Kleines :D
Wenn eine Million Menschen ihr ganzes Leben lang mit Flugzeit 3 Raketen fliegen würden (meiner Messung zufolge braucht man für ~10 000 Blöcke ~5 Minuten = ca. 30m/s), dann bekämen wir die Long voll. Oder anders gesagt, du brauchst etwa 100 Millionen Jahre dafür. :p Viel Erfolg! :thumbsup:
Das ist die Macht der großen Zahlen. Eine Long ist 32 binäre Größenordnungen umfangreicher als eine Int, das entspricht etwa 10 dezimalen Größenordnungen, also dem 10-milliardenfachen (10¹⁰=10 000 000 000). :pardon:
 

Evoli__

Spieler
18 Aug 2019
334
Wenn eine Million Menschen ihr ganzes Leben lang mit Flugzeit 3 Raketen fliegen würden (meiner Messung zufolge braucht man für ~10 000 Blöcke ~5 Minuten = ca. 30m/s), dann bekämen wir die Long voll. Oder anders gesagt, du brauchst etwa 100 Millionen Jahre dafür. :p Viel Erfolg! :thumbsup:
Das ist die Macht der großen Zahlen. Eine Long ist 32 binäre Größenordnungen umfangreicher als eine Int, das entspricht etwa 10 dezimalen Größenordnungen, also dem 10-milliardenfachen (10¹⁰=10 000 000 000). :pardon:
Jaja ich weiß es war ja ein Scherz :|
 

fscript

Spieler
27 Okt 2014
2.780
Wenn eine Million Menschen ihr ganzes Leben lang mit Flugzeit 3 Raketen fliegen würden (meiner Messung zufolge braucht man für ~10 000 Blöcke ~5 Minuten = ca. 30m/s), dann bekämen wir die Long voll. Oder anders gesagt, du brauchst etwa 100 Millionen Jahre dafür. :p Viel Erfolg! :thumbsup:
Das ist die Macht der großen Zahlen. Eine Long ist 32 binäre Größenordnungen umfangreicher als eine Int, das entspricht etwa 10 dezimalen Größenordnungen, also dem 10-milliardenfachen (10¹⁰=10 000 000 000). :pardon:
Funfact: Die Distanz von Max_Long in cm entspricht knapp 9,75 Lichtjahre. Das ist weiter als eine Reise zum erdnächsten Stern mit Rückreise. :D

@Evoli__ Egal, ich mag Zahlenspielereien. :thumbsup:
 

Theodorianum

Spieler
23 Apr 2018
517
Beim Boost nach oben und den Sturzflug nach unten, den man eh schadlos überlebt, erreicht man Geschwindigkeiten von, ich wage zu schätzen, etwa 250 km/h. Das wäre im Endeffekt, wenn man immer aufs Startbrett steigen müsste, die selbe Geschwindigkeit wie, als wenn man normal fliegen würde. Ergo würde sich das Problem ausbügeln. Dankt mir später, wenn ihr damit Erfolg gemacht habt. :)

Ich werd das später testen und hier als Edit das Ergebnis schreiben.
 

Woofington

Spender
2 Jul 2019
90
Na toll. Jetzt hätte ich gerne Zwischen-Stationen mit Leih-Elytren, so dass ich mit etwas Geschick einmal die ganze UW-Welt umrunden kann. Natürlich ohne den sonst bei mir und Elytren üblichen fatalen Aufschlag. :D
 
  • Gefällt mir
Wertungen: untergrund1

SteuerungC

Serverteam
Developer
17 Jan 2016
665
[...] könnt ihr auch gleich BigInteger verwenden.
Nein. Rechnen wir mal fix nach:
Integer hat einen positiven Wertebereich bis 2^31 - 1, also [0, 2.147.483.647]. Bei einigen wenigen Statistiken und wenigen Spielern treten nach einem Jahr Überläufe auf. Long hat einen positiven Wertebereich bis 2^63 - 1, also [0, 9.223.372.036.854.775.807]. Man kann also sagen, dass Long-Statistiken (2^63 - 1)/(2^31 - 1) mal länger (bzw. ca. 2^32 mal länger) reichen als Integer-Statistiken, das sind 4.294.967.296 mal so viel, also reichen die 4,2 Milliarden Jahre.
BigInteger sollte man wirklich nur dann verwenden, wenn wirklich nötig. Gründe dafür sind:
  • BigInteger ist sehr, sehr langsam. Hauptgrund dafür ist der relativ komplexe interne Aufbau dieses Datentyps. Im Vergleich dazu kann eine Addition auf einem Long von einer 64bit-CPU in einem einzigen Taktzyklus durchgeführt werden.
  • Java unterstützt nativ nicht das Überladen von Operatoren, heißt also, dann man in vielen Codestellen auf die methodenbasierten Operationen von BigInteger zurückgreifen müsste. Sehr nervig. (Es gibt natürlich Möglichkeiten in Java auch Operatoren zu überladen, bspw. mit Manifold, jedoch bleiben alle anderen Nachteile.)
  • Es ist ja nicht nur damit getan diese Daten mit BigInteger zu rechnen: Man müsste sie auch passend speichern. Das geht bspw. in verschiebenden Datenbanksystemen verschieden gut, ist aber natürlich auch wieder langsamer und verbraucht ggf. richtig viel unnötigen Speicherplatz.
Viel wichtiger ist die Tatsache, dass das Netzwerkprotokoll und die Darstellung in Clients eben nur 32bit-Integer unterstützt - wir werden also für alle Statistiken maximal Integer.MAX_VALUE an den Client übertragen - all der Aufwand wäre also erstmal nur für die Jahresstatistiken. Also bleiben wir doch besser bei dem, was sinnvoll ist, also Long ;)
 

WauHundeland

Spieler
14 Mai 2020
25
BigInteger ist sehr, sehr langsam. Hauptgrund dafür ist der relativ komplexe interne Aufbau dieses Datentyps. Im Vergleich dazu kann eine Addition auf einem Long von einer 64bit-CPU in einem einzigen Taktzyklus durchgeführt werden.
Das stimmt, BigInteger kann aber reintheoretisch unendlich Datenmengen verarbeiten, ausgenommen vom Speicherplatz.
Meine MySQL Datenbank verwendet für die Systemtabelle BigInteger, das benötigt immer lange um die Daten zu verarbeiten. ;)
 

Benutzer, die dieses Thema gerade lesen

ONLINE 29 Spieler