Вернуться   Биткоин Форум > Разработка и Техническое Обсуждение
24 июля 2011, 5:57:19 PM   # 1
 
 
Сообщения: 490
Цитировать по имени
цитировать ответ
по умолчанию Re: Любой способ получить запуск клиента быстрее?

Взлом Биткоин адресов.
500 Биткоинов взломаны в "мозговом кошельке" с паролем "bitcoin is awesome"
Адрес кошелька: 14NWDXkQwcGN1Pd9fboL8npVynD5SfyJAE
Приватный ключ: 5J64pq77XjeacCezwmAr2V1s7snvvJkuAz8sENxw7xCkikceV6e
подробнее...


Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru
Когда я запустить клиент не показывает фактическое окно клиента в течение длительного периода времени (от 1 до 5 минут) - Linux и Windows. В этом время активности диска очень велико. Затем он показывает окно и начать, чтобы поймать текущее значение счетчика блока.

Я предполагаю, что есть недостаток некоторых алгоритмов оптимизации.

Также клиент завершает работу медленно тоже. Окно исчезло, но процесс все еще работает, и сделать что-то достаточно активно. Я думаю, что это не будет, как нормальное завершение работы системы, когда KILL-сигналы посылаются на процессы, которые не понимают, что срок.
пент сейчас офлайн Пожаловаться на наболело   Ответить с цитированием Мультицитирование сообщения от наболело Быстрый ответ на сообщение наболело


Как заработать Биткоины?
Без вложений. Не майнинг.


24 июля 2011, 6:25:45 PM   # 2
 
 
Сообщения: 812
Цитировать по имени
цитировать ответ
по умолчанию Re: Любой способ получить запуск клиента быстрее?

Получил 1806 Биткоинов
Реальная история.





Я заметил это, как хорошо. Было бы лучше, если он появится какой-то стартовый экран вместо того, чтобы просто оставаться молчание, то же самое для отключения ("обновление базы данных ... Пожалуйста, подождите").

Я, вероятно, реализовать это в моем интерфейсе, если это не возможно, чтобы получить время запуска вниз до незначительного количества какой-то другой путь. Я не профилированный, что вызывает задержку еще.
Wumpus сейчас офлайн Пожаловаться на Wumpus   Ответить с цитированием Мультицитирование сообщения от Wumpus Быстрый ответ на сообщение Wumpus

24 июля 2011, 6:52:37 PM   # 3
 
 
Сообщения: 126
Цитировать по имени
цитировать ответ
по умолчанию Re: Любой способ получить запуск клиента быстрее?

Если разработчики хотят Bitcoin, чтобы добиться успеха, им нужно сделать, чтобы начать прямо сейчас. Я имею в виду, если я должен платить за то, что _now_ средства Теперь!! не через 5 минут.
dikidera сейчас офлайн Пожаловаться на dikidera   Ответить с цитированием Мультицитирование сообщения от dikidera Быстрый ответ на сообщение dikidera

24 июля 2011, 7:03:36 PM   # 4
 
 
Сообщения: 1050
Цитировать по имени
цитировать ответ
по умолчанию Re: Любой способ получить запуск клиента быстрее?

Если разработчики хотят Bitcoin, чтобы добиться успеха, им нужно сделать, чтобы начать прямо сейчас. Я имею в виду, если я должен платить за то, что _now_ средства Теперь!! не через 5 минут.
Перейти делать это сами!

если вы хотите, чтобы другая Poeple сделать что-то для вас, вы должны спросить вежливо !!!!!!

пожалуйста, уважать УБС.
kokjo сейчас офлайн Пожаловаться на kokjo   Ответить с цитированием Мультицитирование сообщения от kokjo Быстрый ответ на сообщение kokjo

24 июля 2011, 7:59:34 PM   # 5
 
 
Сообщения: 574
Цитировать по имени
цитировать ответ
по умолчанию Re: Любой способ получить запуск клиента быстрее?

Во-первых, обновление до версии 0.3.24.
Error сейчас офлайн на ошибке Пожаловаться   Ответить с цитированием Мультицитирование Сообщения от ошибок Быстрый ответ на сообщение об ошибке

24 июля 2011, 10:18:47 PM   # 6
 
 
Сообщений: 64
Цитировать по имени
цитировать ответ
по умолчанию Re: Любой способ получить запуск клиента быстрее?

Я также видел запуск клиента медленно (несколько минут или часов). Это происходит с 0.3.24beta, который является последним программным обеспечением, доступным на первой странице bitcoin.org.

Когда я впервые столкнулся с этой проблемой, я подумал, "Ну, что отстой. GUI не появляется на очень, очень долгое время и сообщения на форуме, кажется, указывают это нормально, пока он считывает блок цепь. WTF? Они никак не могут рассчитывать человек, чтобы использовать клиент с таким дерьмовым дизайном, не так ли?",

Там нет никакого способа для нового пользователя, чтобы сказать, если клиент работает или нет. Кажется, что сообщение не доходит, так что позвольте мне повторить: Там нет никакого способа для нового пользователя, чтобы сказать, если клиент работает или нет. Похоже, он просто не будет работать. Я был посвящен, чтобы получить его работу, и я после нескольких дней поисков на форумах и возиться вокруг, но я думаю, что многие пользователи просто отказаться.

Если это зафиксировано в 0.3.24 версии, пожалуйста, примите мою благодарность за фиксации этого. Если нет, то пожалуйста, этот вопрос главным приоритетом. Это действительно ужасно. Я предполагаю, что я могу исправить это сам, но это, вероятно, будет много недель, прежде чем у меня есть время. (Кстати, я нахожусь на Windows 7 64bit).
bitrick сейчас офлайн Пожаловаться на bitrick   Ответить с цитированием Мультицитирование сообщения от bitrick Быстрый ответ на сообщение bitrick

26 июля 2011, 5:25:00 AM   # 7
 
 
Сообщения: 1582
Цитировать по имени
цитировать ответ
по умолчанию Re: Любой способ получить запуск клиента быстрее?

Я был смысл в профиль запуска клиента. Я заметил, что последняя сборка, кажется, занимает много времени для запуска на Linux. Я сделал быстрый след, и это оказалось массивное количество запросов MLOCK / munlock. Я не имел возможность исследовать дальше еще.
JoelKatz сейчас офлайн Пожаловаться на JoelKatz   Ответить с цитированием Мультицитирование сообщения от JoelKatz Быстрый ответ на сообщение JoelKatz

26 июля 2011, 5:34:27 AM   # 8
 
 
Сообщения: 812
Цитировать по имени
цитировать ответ
по умолчанию Re: Любой способ получить запуск клиента быстрее?

Там нет никакого способа для нового пользователя, чтобы сказать, если клиент работает или нет. Кажется, что сообщение не доходит, так что позвольте мне повторить: Там нет никакого способа для нового пользователя, чтобы сказать, если клиент работает или нет.
Да, именно поэтому я предложил заставку несколько сообщений вверх. Было бы, по крайней мере исправить "эй, не появляется GUI!" проблема.

Другой возможностью было бы просто отобразить графический интерфейс, но есть все, что не отключается до тех пор, "База данных проверяется" (То, что когда-нибудь это делает).

Следите за хорошую работу детектива JoelKatz

Если разработчики хотят Bitcoin, чтобы добиться успеха, им нужно сделать, чтобы начать прямо сейчас. Я имею в виду, если я должен платить за то, что _now_ средства Теперь!! не через 5 минут.
Лол, это "если разработчики хотят Bitcoin, чтобы добиться успеха сделать это прямо сейчас" мем начинает быть смешно ... это так сильно перегружен, если у меня было время, я бы добавить его в котенка изображение

Если вы хотите DEV сделать работу за вас, вы должны заплатить ему за то время и проблемы, а не угрожать и жаловаться.
Wumpus сейчас офлайн Пожаловаться на Wumpus   Ответить с цитированием Мультицитирование сообщения от Wumpus Быстрый ответ на сообщение Wumpus

26 июля 2011, 11:32:31 PM   # 9
 
 
Сообщения: 1428
Цитировать по имени
цитировать ответ
по умолчанию Re: Любой способ получить запуск клиента быстрее?

Я согласен, это должно быть улучшено, и я согласен должна быть заставкой или отключен GUI, а вещи нагрузки. Казалось бы, что вы могли бы хранить временную информацию от последнего времени клиента был закрыт, чтобы отобразить при запуске, но серо-вне кнопки отправки денег. Затем пользователь может просматривать предыдущие данные транзакции, создавать новые адреса и т.д., в то время как бэкенд проходит и повторно проверяет blockchain. Можно даже поставить планку прогресса в рамках "Отправить" Кнопка, чтобы показать пользователь, почему он серый цвет. Это должно решить множество текущих проблем скорости, если многопоточность может быть сделана правильно (не спрашивайте меня, чтобы сделать это, я никогда не писал код МТА).

Но, я много думал об этом, как оптимизировать файл-чтение, и я работаю прототип прямо сейчас. К сожалению, без особого контекста о том, что уже есть в коде клиента, но это удовольствие для меня, так что я работаю на конечной эффективности blockchain файловой нагрузки. Я хотел бы услышать какие-либо мысли по этому процессу ...

По моим подсчетам, у нас есть около 400 МБ blockchain информации, которая для большинства жестких дисков должны занять около 5 секунд, чтобы читать. Это означает, что, по крайней мере, в то время как клиент предназначен для поддержания всей blockchain, мы никогда не бить 5 секунд времени загрузки для среднего пользователя. Это может быть не так уж плохо прямо сейчас, но это не собирается быть лучше. И, конечно же, это занимает гораздо больше времени, чем это потому, что blockchain должен быть обработан / проверяется, как это читать. Моя мысль ... что, если он не занимает дополнительного времени?

  • (1) blockchain данные хранятся в файле точно так же, как двоичный формат будет храниться в памяти.
  • (2) В памяти, выделяют 400 МБ хранения за сырой указатель uint8_t
  • (3) Есть ли прямое копирование "blk0001file.read (ramChunkPtr, FileSize)"
  • (4) Использование BlkHeaderPtr и TxPtr объекты - члены являются указатели на места в этом куске памяти вместо копий
  • (5) Записать методы доступа просто разыменования указателей, в любое время

Накладные хранения этих указателей должны быть малы по сравнению с самим blockchain. И есть два варианта назначения указатели ... либо ходить через данные и назначить их вручную (что бы замедлить немного быть все var_ints), или хранить переменные байт-места в другом файле, (известный из последнего отключения клиента ). Черт, вы могли бы сделать точно такой же участок памяти идею с этим файлом, но еще быстрее, потому что все они являются постоянными ширины поля (и драматично меньше данных). В любом случае, это должно быть лучшим время эффективности возможно, оплаченная небольшим снижением эффективности пространства. 



etotheipi сейчас офлайн Пожаловаться на etotheipi   Ответить с цитированием Мультицитирование сообщения от etotheipi Быстрый ответ на сообщение etotheipi

27 июля 2011, 12:34:20 AM   # 10
 
 
Сообщений: 64
Цитировать по имени
цитировать ответ
по умолчанию Re: Любой способ получить запуск клиента быстрее?

Я начинаю думать, что существует два класса задач: 1. Медленное чтение блока цепи с диска, что приводит к значительному, но разумные сроки порядка несколько десятков секунд. 2. Что-то другое, что остается необъясненным, что вызывает очень большие задержки запуска порядка нескольких минут или часов (а иногда и он никогда не будет начинать до тех пор, пока машина не будет перезапущен.)

Что касается # 2, я не уверен, что проблема именно, но я думаю, что эти объяснения могут быть изучены: нет GUI, если порт не открыт, не GUI, пока весь блок цепи не загружается, нет GUI, если блокировка файла существует, не GUI, если вы начали это несколько раз, прежде чем GUI на самом деле оказалось, что-то конкретное для Windows 7 64-бит и т.д.

Когда я первый начал клиент это выглядело как графический интерфейс не будет отображаться, пока весь блок цепь не была загружена. Я мог наблюдать файлы создаются, но не GUI не подошел бы. Я хотел бы отметить, что у меня были проблемы в моей сети с портом не были открыты, но я не уверен, насколько большой фактор, который был (я в конце концов установил ее). Какими бы ни были проблемы, это заняло несколько часов, пока я сначала не увидел GUI.

Опять же, я думаю, что масштабы этой проблемы выходит за рамки только медленного чтения с диска в уточненный блок цепи.
bitrick сейчас офлайн Пожаловаться на bitrick   Ответить с цитированием Мультицитирование сообщения от bitrick Быстрый ответ на сообщение bitrick

27 июля 2011, 11:56:14 AM   # 11
 
 
Сообщения: 1526
Цитировать по имени
цитировать ответ
по умолчанию Re: Любой способ получить запуск клиента быстрее?

Время запуска на главном клиенте происходит из следующих источников:

Загрузка бинарных себя:  <1сек на большинстве компьютеров.

Загрузка из addr.dat: ~ 5secs на старых строит, меньше на более новый, я думаю.

Загрузка бумажник: <0,5 сек, если вы имеете необычно большой кошелек. Это может занять около минуты, если вы работаете что-то вроде обмена или размещенного в бумажнике.

Сканирование заголовков блоков цепи в память: около 13 секунд.

(Графический интерфейс пользователя показывает в этой точке)

Открытие Peer: <0.5сек на последних сборках, какой по умолчанию для DNS через IRC. Через несколько секунд на старых сборки, что использование IRC по умолчанию.

Поиск партнёра, который слушает: на очень старые версии (более, чем несколько версий назад), это может занять несколько минут. На старых версиях (после тайм-аут соединения исправления, но до семян DNS), это может занять 30-60 секунды. На новых сборках он должен быть почти мгновенно.

Нахождение не сломана сверстников, что слушает: на старых сборок, что использование IRC высева это может занять очень, очень долгое время (часы), потому что вы будете тратить много времени подключения к узлам, которые также работает <0.3.24 и как таковой не может надежно передавать блок-цепь. Ваш узел будет тратить время подключения к сверстнику, прося блоком цепи, а затем отсоединения. Мытье, полоскание повторить. В конце концов вы будете подключаться к узлу, 0.3.24+ и быть в состоянии получить цепочку.

Догнать блочную цепь: Мой MacBook Pro может обрабатывать цепь в около 1 блока в секунду в последнее время. Так что это одна вторые за каждые 10 минут реального времени, то есть если бы это был день, так как вы в последний раз запускали клиент, что это 144 секунд или чуть более двух минут.

Как вы видете, время запуска сильно зависит от работы самого последней версии, не только ты, но и для всей сети. По всегда установлена ​​самая последняя версия, вы не только дать себе лучше время запуска, но и все остальные тоже.
Майк Хирн сейчас офлайн Пожаловаться на Mike Хирн   Ответить с цитированием Мультицитирование сообщения от Mike Хирн Быстрый ответ на сообщение Mike Хирн

27 июля 2011, 2:35:56 PM   # 12
 
 
Сообщения: 812
Цитировать по имени
цитировать ответ
по умолчанию Re: Любой способ получить запуск клиента быстрее?

Спасибо за обзор!

Я в первую очередь заинтересован в части до GUI показывает, что нет обратной связи с пользователем в тот момент.
Wumpus сейчас офлайн Пожаловаться на Wumpus   Ответить с цитированием Мультицитирование сообщения от Wumpus Быстрый ответ на сообщение Wumpus

27 июля 2011, 3:10:52 PM   # 13
 
 
Сообщения: 1428
Цитировать по имени
цитировать ответ
по умолчанию Re: Любой способ получить запуск клиента быстрее?

(1) Несет ли 13s загружать только заголовки? Или весь blk0001.dat? Прямо сейчас, я могу открыть и сканировать 11МБЫ из заголовков блоков в C ++ примерно 1 сек. Блок данные значительно занимает больше времени, так как есть 400 МБ. 

(2) Я заметил, что мой клиент в Linux занимает огромное количество времени, чтобы загрузить обновленные блоки - возможно, 1-4 в минуту.  Даже когда я закрываю клиента только один день, это может занять несколько часов для того, чтобы увязнуть. Но когда я загружаю мои окна XP VM, что имеет другой, "Сберегательный счет" бумажник на нем, что клиент получает до скорости почти сразу (вероятно, 1 в секунду, как предложил Майк). Я признаю, что существует проблема открытия сверстников / версии, но почему бы это было так резко отличается от двух систем? Это делает его практически непригодным для использования на Linux, если не открывать клиенту полные 1-8 часов, прежде чем я хочу послать кому-то деньги. Это быстрее, для меня, чтобы загрузить свою виртуальную машину, загрузить клиент BTC, а также передавать непосредственно со счета мои сбережения. 8 часов спустя, когда мой линукс клиент готов, я возместить мой сберегательный счет ...

(3) Может нахождение вопросов открытие / версия узла WARRANT смотрит в с использованием протокола передачи битов торрент (или аналогичный) для перемещения блоков вокруг? Версия не следует независимо от того, для перемещения этих данных вокруг, но необходимость согласования версии, чтобы установить соединение силы, чтобы это стало узким местом. Кроме того, я думал, GetData () запрос получает до 500 блоков от ссылочного хэша ...? Не означает ли это, если вы не более чем 500 блоку позади, вам нужно всего лишь найти хороший пэр один раз, чтобы получить обновленный blockchain?
etotheipi сейчас офлайн Пожаловаться на etotheipi   Ответить с цитированием Мультицитирование сообщения от etotheipi Быстрый ответ на сообщение etotheipi

27 июля 2011, 4:52:18 PM   # 14
 
 
Сообщения: 1526
Цитировать по имени
цитировать ответ
по умолчанию Re: Любой способ получить запуск клиента быстрее?

Да, вам нужно только один хороший пэр. Старшие коллеги имеют серьезную ошибку, что делает их не удалось отправить цепочку. Я не думаю, что нужен какой-либо новый протокол, только для людей, чтобы обновить. Bitcoin не достаточно агрессивно версии обновления сообщений. Автоматическое обновление было бы хорошо, но никогда не было реализовано.

13 сек для загрузки заголовков из blkindex.dat. Она включает в себя множество мелкого BDB читает, а также подключение блоков вместе и их проверки.

Я не знаю, почему версия Linux будет гораздо медленнее, чем Windows, но размер кошелька может иметь что-то делать с этим. Существует много неоптимизированном коды в Bitcoin.
Майк Хирн сейчас офлайн Пожаловаться на Mike Хирн   Ответить с цитированием Мультицитирование сообщения от Mike Хирн Быстрый ответ на сообщение Mike Хирн

27 июля 2011, 5:45:18 PM   # 15
 
 
Сообщения: 1428
Цитировать по имени
цитировать ответ
по умолчанию Re: Любой способ получить запуск клиента быстрее?

Но, учитывая трудности, чтобы заставить людей обновить своих клиентов, это звучит, как это будет чрезвычайно нерешенной проблемой, не делая что-то другое. Мы должны рассмотреть способы, позволяющие клиентам с разными версиями, чтобы приспособить друг к другу, по крайней мере, для blockchain загрузки. Вместо того, чтобы отсоединять клиентов с разными версиями сразу, возможно, дать возможность обменяться GetData () запросы. А может быть, также должно быть какое-то объявление сообщения как часть клиента, которая проверяет bitcoin.org для новой версии и предупреждает пользователя, они должны обновить. 

Ключевая проблема (по крайней мере для меня), что если вы не уточненных на заголовках блоков, вы не можете делать ничего другого. На другой день я пытался посылать кого-то монету, интересно, что произойдет, и сказал, что клиент "Оплата Отправленные!" но остался в "0 / неподтвержденный" в течение 8 часов, пока не пойманы до верхней части цепи. 

Если вам нужно только один хороший пэр, почему мой клиент требуйте 1 минуты для каждого блока для загрузки? Он ведет себя так, как будто он ищет узел, в конце концов находит, получает один блок, а затем обрывается и должен начать все сначала. На другой день я был только 5 блоков позади, но она принимает как 3 минуты на блок, так что он взял навсегда, чтобы догнать blockchain. Да, это Linux, клиент 0.3.24.


Постскриптум - Может быть, я особняком ... Кто-нибудь еще есть эти виды проблем с получением блоков из сети?
etotheipi сейчас офлайн Пожаловаться на etotheipi   Ответить с цитированием Мультицитирование сообщения от etotheipi Быстрый ответ на сообщение etotheipi

27 июля 2011, 6:03:23 PM   # 16
 
 
Сообщения: 812
Цитировать по имени
цитировать ответ
по умолчанию Re: Любой способ получить запуск клиента быстрее?

Вместо того, чтобы отсоединять клиентов с разными версиями сразу, возможно, дать возможность обменяться GetData () запросы.
Я не думаю, что вынуждены разъединение происходит, когда-либо. По крайней мере, все последние клиенты могут взаимодействовать друг с другом, из-за протокол управления версиями.

Ошибка Майк Хирн говорит о том, не связано с самой разницей версии, но это дросселирование ошибка присутствует в старых версиях.
котировка
Постскриптум - Может быть, я особняком ... Кто-нибудь еще есть эти виды проблем с получением блоков из сети?
Никакие проблемы не получать блоки на любом из моих (Linux) хостов в данный момент. Месяц назад было проблематично иногда. Есть ли переадресовать порт 8333?
Wumpus сейчас офлайн Пожаловаться на Wumpus   Ответить с цитированием Мультицитирование сообщения от Wumpus Быстрый ответ на сообщение Wumpus

27 июля 2011, 6:45:33 PM   # 17
 
 
Сообщения: 1428
Цитировать по имени
цитировать ответ
по умолчанию Re: Любой способ получить запуск клиента быстрее?

Когда ты говоришь "вперед порт 8333," Вы имеете в виду перенаправление портов на маршрутизаторе? Я пробовал (любой трафик на мой DMZ IP адрес на порту 8333 будет идти непосредственно к порту моего компьютера 8333). Это не имеет большого смысла для меня, но, возможно, это то, что вы имели в виду. Я попробую, когда я вернусь домой.

Если вы посмотрите на пост Майка Хирна, он говорит о том, что мой клиент 0.3.24 не сможет получить blockchain кроме других 0.3.24 клиентов ... которые, как я думал, что он работал, тоже (но я гавань» т получили к сетевой части протокола еще, так что я знаю?)

И после всего этого обсуждения, которые мы определили, если есть узкое место, которое может быть адресовано? Предположим, все волшебно модернизирует до 0.3.24 сегодня, и дроссельный ошибка исчезает. Есть ли у нас еще ожидают проблемы со скоростью? Должны ли мы мозговой штурм лучших идей для многопоточности, сделать GUI более доступным в то время как система работает в фоновом режиме? 

И, наконец, какой-либо причине вы знаете, почему она занимает 12 секунд, чтобы прочитать заголовки из blk0001.dat? Вот как долго это берет мой питон скрипт, чтобы сделать это (с хэширования и blockchain организации), поэтому я предположил, что это может быть сделано значительно быстрее в C ++ код ...
etotheipi сейчас офлайн Пожаловаться на etotheipi   Ответить с цитированием Мультицитирование сообщения от etotheipi Быстрый ответ на сообщение etotheipi

27 июля 2011, 10:25:31 PM   # 18
 
 
Сообщения: 1526
Цитировать по имени
цитировать ответ
по умолчанию Re: Любой способ получить запуск клиента быстрее?

Загрузка кошельков, блочные цепи и т.д. должно произойти после того, как GUI воспитывается. Если ваш сценарий Python занимает столько же времени, как C ++ все, что показывает, что процесс ввода-вывода связаны, что и следовало ожидать.
Майк Хирн сейчас офлайн Пожаловаться на Mike Хирн   Ответить с цитированием Мультицитирование сообщения от Mike Хирн Быстрый ответ на сообщение Mike Хирн

28 июля 2011, 11:04:04 PM   # 19
 
 
Сообщения: 1428
Цитировать по имени
цитировать ответ
по умолчанию Re: Любой способ получить запуск клиента быстрее?

Кто-нибудь знает, как данные заголовков и ТХ хранится в оперативной памяти? Если все ссылки на 32-байтовые хэш доступ блоков / ТЙ путем хэша может быть очень медленным, если мы не используем хорошую структуру данных. Бинарное дерево поиска, вероятно, даже не достаточно хорошо. Десятичную / Патрисия дерево было бы идеально, так как вы можете получить доступ к любому объекту в течение примерно 40 тактов, или меньше. 

Если кто-то уже делают какое-то скорость профилирования кода, я задаюсь вопросом, сколько времени требуется для блока / ТЙ доступа на основе хэша? Может быть, вы могли бы выбрать блок хэш, и поместить в цикле, чтобы получить версию, что блок в миллион раз и времени, сколько времени это занимает. Я процветают на структуры данных, указатели и оптимизации низкого уровня, как это, я хотел бы внести свой вклад. 

etotheipi сейчас офлайн Пожаловаться на etotheipi   Ответить с цитированием Мультицитирование сообщения от etotheipi Быстрый ответ на сообщение etotheipi

29 июля 2011, 5:40:07 PM   # 20
 
 
Сообщения: 574
Цитировать по имени
цитировать ответ
по умолчанию Re: Любой способ получить запуск клиента быстрее?

Кто-нибудь знает, как данные заголовков и ТХ хранится в оперативной памяти? Если все ссылки на 32-байтовые хэш доступ блоков / ТЙ путем хэша может быть очень медленным, если мы не используем хорошую структуру данных. Бинарное дерево поиска, вероятно, даже не достаточно хорошо. Десятичную / Патрисия дерево было бы идеально, так как вы можете получить доступ к любому объекту в течение примерно 40 тактов, или меньше. 

Если кто-то уже делают какое-то скорость профилирования кода, я задаюсь вопросом, сколько времени требуется для блока / ТЙ доступа на основе хэша? Может быть, вы могли бы выбрать блок хэш, и поместить в цикле, чтобы получить версию, что блок в миллион раз и времени, сколько времени это занимает. Я процветают на структуры данных, указатели и оптимизации низкого уровня, как это, я хотел бы внести свой вклад. 

https://github.com/bitcoin/bitcoin
Error сейчас офлайн на ошибке Пожаловаться   Ответить с цитированием Мультицитирование Сообщения от ошибок Быстрый ответ на сообщение об ошибке



Как заработать Биткоины?

Bitcoin Wallet * Portefeuille Bitcoin * Monedero Bitcoin * Carteira Bitcoin * Portafoglio Bitcoin * Bitcoin Cüzdan * 比特币钱包

bitcoin-zarabotat.ru
Почта для связи: bitcoin-zarabotat.ru@yandex.ru

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW