Wie viel schneller ist die Synchronisierung mit --jitvm?

geth helphat:

OPTIONEN DER VIRTUELLEN MASCHINE:

--jitvm Aktiviert die JIT-VM

Die Auswirkungen von --jitvmwurden nicht beantwortet und ich suche speziell nach Antworten auf diese 3:

Wie viel schneller ist geth --fast --jitvmals nur geth --fast?

Wie viel schneller ist geth --fast --cache=1024 --jitvmals nur geth --fast --cache=1024?

Wie viel schneller ist geth --jitvmals nur geth?

Ein typisches Benchmarking würde bedeuten: a) Entfernen Sie alle vorherigen Datenbanken mit geth removedbb) Schließen Sie alle Software, die Bandbreite verwendet (Torrent-Süchtige :) c) Führen Sie den Befehl aus d) Wie timen Sie es? d) ist kritisch, ich kann mir keine Möglichkeit vorstellen, den Zeitstempel zu erhalten, wenn die Datenbank synchronisiert wird

Antworten (2)

geth 1.5 ist viel schneller, aber es gibt Probleme, Verbindungen zu Peers aufrechtzuerhalten. Bei hoher Latenz wird die Peer-Verbindung aggressiv entfernt. Ich verwende den Patch 2630 von Péter Szilágyi in der Version 1.5.

get 1.4.4

Benchmarks durchgeführt auf OS X mit 37320qm 16Go RAM 1To SSD mit Geth 1.4.4 (stabil):

___________________________________________________________________
| Option                      | Disk Used | Time | Disk Written   |
|-----------------------------|-----------|-------|---------------|
|                             | 21GB      | 5h00  | 1TB           |
| --fast                      | 4.1GB     | 1h00  | 100GB         |
| --cache 1024 --jitvm        | 21GB      | 6h00  | 1TB           |
| --fast --cache 1024 --jitvm | ????      |       |               |
-------------------------------------------------------------------

Hinweis: Das Netzwerk ist heute sehr instabil (für die Benchs --cache und --jitvm), andere Tests wurden durchgeführt, als das Netzwerk besser funktionierte. Es kommt oft vor, dass alle Gleichaltrigen verloren gehen. Aber ich bin mir nicht sicher, ob es große Vorteile mit --jitvm oder --cache gibt.

geth 1.4.6 auf SSD

Benchmarks durchgeführt auf OS X mit 37320qm 16Go RAM 1To SSD:

___________________________________________________________________
| Option                      | Disk Used | Time | Disk Written   |
|-----------------------------|-----------|-------|---------------|
|                             | 21GB      |       |               |
| --cache 1024 --jitvm        | 21GB      | 4h10  | 543GB         |
| --fast                      | 4.1GB     | 25m   | 52GB          |
| --fast --cache 1024 --jitvm | 4.1GB     |       |               |
-------------------------------------------------------------------

Die Ergebnisse sollten mit denen der Version 1.5.0 übereinstimmen. Der Unterschied ist wahrscheinlich auf Netzwerkverbindungen mit anderen Peers zurückzuführen.

geth 1.4.6 auf Festplatte

Benchmarks durchgeführt auf OS X mit 37320qm 16Go Ram 1To HDD 5400tr/min:

___________________________________________________________________
| Option                      | Disk Used | Time  | Disk Written  |
|-----------------------------|-----------|-------|---------------|
|                             |           |       |               |
| --cache 1024 --jitvm        |           | 20h   | 450GB         |
| --fast                      | 4.1GB     |       | 60GB          |
| --fast --cache 1024 --jitvm | 4.1GB     | 4h15m | 60GB          |
------------------------------------------------------------------

Die HDD-Benchmarks sind sehr niedrig. Es ist viel langsamer. Wenn Sie 8 Go RAM haben, erstellen Sie eine RAM-Disk, um --fast & --datadir darauf auszuführen, und kopieren Sie die Ergebnisse in Ihr Ethereum-Verzeichnis.

geth 1.5.0 mit Patch 2657 (Sammlungen zukünftiger Patches)

Benchmarks durchgeführt auf OS X mit 37320qm 16Go RAM 1To SSD mit Geth 1.5.0 (instabil) am 4. Juni 2016:

__________________________________________________________________
| Option                      | Disk Used | Time | Disk Written  |
|-----------------------------|-----------|------|---------------|
|                             | 21GB      |      | 450GB         |
| --cache 1024 --jitvm        | 21GB      |3h01  | 450GB         |
| --fast                      | 4.1GB     |20m06 | 52GB          |
| --fast --cache 1024 --jitvm | 4.1GB     |21m10s| 52GB          |
------------------------------------------------------------------

Diese Version 1.5 ist sehr stabil. Ich habe einige vollständige Synchronisierungen und schnelle Synchronisierungen durchgeführt und die gleichen Ergebnisse +/- wenige % gefunden. Gute Arbeit

Hinweis 1: Für das --fast-Flag zeigen die --jitvm und --cache keinen Gewinn.

Hinweis 2: Der Importvorgang ähnelt einer vollständigen Synchronisierung: 3h00

Wie haben Sie die verschiedenen Optionen zeitlich abgestimmt?
Ich führe die Geth-Befehle aus, bis ich alle Blöcke habe, derzeit 1,6 Mi-Blöcke
also --fast scheint die Dinge sehr zu verbessern, während der Gewinn von --cache 1024 --jitvm sehr begrenzt ist. Ich kann es kaum erwarten, das Kopfgeld von 50 zu setzen, tolle Arbeit
Der jitvm ist für die Zukunft, wenn Smart Contracts groß sein werden. Der Cache verbessert sich wegen der SSD nicht, ich werde es mal mit einer HDD versuchen

Ich habe selbst ein paar Bankdrücken gemacht und festgestellt, dass es keine signifikanten Auswirkungen von --jitvm gibt. Und ich stimme zu, dass Geth 1.5.0 mit Patch viel schneller ist. :)

Hinweis: Die Version 1.4.6 verfügt über diese Patches und lässt sich schnell synchronisieren

Es wird nur bei großen Programmen einen signifikanten/bemerkbaren Unterschied machen. Es stehen einige Optimierungen an, die einen großen Unterschied machen werden. Siehe medium.com/@jeff.ethereum/…
Ich habe gerade 1.4.6 auf einer 70k-Privatkette ausprobiert und es ist 20 Sekunden langsamer im Vergleich zu einem 1.4.4-Knoten. --jitvm scheint 30 Sekunden schneller zu sein als ohne. Alles ist anders, wenn Knoten gleichzeitig ausgeführt werden.