Насколько быстрее синхронизироваться с --jitvm?

geth helpимеет:

ВАРИАНТЫ ВИРТУАЛЬНОЙ МАШИНЫ:

--jitvm Включить виртуальную машину JIT

Влияние --jitvmосталось без ответа , и я ищу ответы конкретно на эти 3:

Насколько быстрее, geth --fast --jitvmчем просто geth --fast?

Насколько быстрее, geth --fast --cache=1024 --jitvmчем просто geth --fast --cache=1024?

Насколько быстрее, geth --jitvmчем просто geth?

типичный бенчмаркинг будет означать: а) удалить все предыдущие базы данных с помощью geth removedbб) закрыть все программное обеспечение, использующее полосу пропускания (торрент-наркоманы :) в) запустить команду г) как вы это время? г) имеет решающее значение, я не могу придумать способ получить временную метку при синхронизации базы данных

Ответы (2)

geth 1.5 намного быстрее, но есть проблемы с поддержанием соединения с пирами. При высокой задержке он агрессивно удаляет одноранговое соединение. Я использую патч 2630 от Péter Szilágyi в версии 1.5.

гет 1.4.4

тесты, выполненные в OS X с 37320qm 16Go ram 1To SSD с geth 1.4.4 (стабильная):

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

Примечание: сегодня сеть очень нестабильна (для тестов --cache и --jitvm), другие тесты проводились, когда сеть работала лучше. Есть много случаев, когда геты теряют всех сверстников. Но не уверен, что есть отличные преимущества с --jitvm или --cache.

гет 1.4.6 на SSD

тесты, выполненные на OS X с 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     |       |               |
-------------------------------------------------------------------

Результаты должны быть такими же, как и в версии 1.5.0. Разница, вероятно, связана с сетевыми соединениями с другими узлами.

geth 1.4.6 на жестком диске

тесты, выполненные на OS X с 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          |
------------------------------------------------------------------

Тест HDD очень низкий. Это намного медленнее. Если у вас 8 ГБ оперативной памяти, создайте RAM-диск, чтобы выполнить на нем --fast & --datadir и скопируйте результаты в свой каталог ethereum.

geth 1.5.0 с патчем 2657 (Сборники будущих патчей)

тесты, выполненные в OS X с 37320qm 16Go ram 1To SSD с geth 1.5.0 (нестабильный) 4 июня 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          |
------------------------------------------------------------------

Эта версия 1.5 очень стабильна. Я сделал несколько полных и быстрых синхронизаций и обнаружил те же результаты +/- несколько процентов. Хорошая работа

Примечание 1: для флага --fast --jitvm и --cache не показывают выигрыша.

Примечание 2: операция импорта аналогична полной синхронизации: 3 часа 00 минут.

как вы рассчитали время для различных вариантов?
я запускаю команды geth, пока у меня не будет всех блоков в настоящее время 1.6Mi блоков
поэтому --fast, кажется, значительно улучшает ситуацию, в то время как выигрыш от --cache 1024 --jitvm очень ограничен. не могу дождаться, чтобы поставить 50 наград, потрясающая работа
Jitvm предназначен для будущего, когда смарт-контракты станут большими. Кэш не улучшается из-за SSD, попробую скамейку с HDD

Я сам сделал несколько жимов и обнаружил, что --jitvm не оказывает существенного влияния. И я согласен, что geth 1.5.0 с патчем намного быстрее. :)

Примечание: версия 1.4.6 имеет эти патчи и быстро синхронизируется

Это будет иметь существенное/заметное значение только для больших программ. Ожидаются некоторые оптимизации, которые будут иметь огромное значение. См. medium.com/@jeff.ethereum/…
Я только что попробовал 1.4.6 в частной цепочке 70k, и она на 20 секунд медленнее по сравнению с узлом 1.4.4. --jitvm кажется на 30 секунд быстрее, чем без него. Однако все меняется, когда узлы работают одновременно.