Вернуться   Биткоин Форум > Разработка и Техническое Обсуждение
6 июля 2017, 10:22:38 AM   # 1
 
 
Сообщения: 644
Цитировать по имени
цитировать ответ
по умолчанию Re: Некоторые «технические комментарии» о коде ядра особ. использование аппаратного обеспечения

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


Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru
подумал, что это стоит сохранить - полностью было не по теме в другом потоке и может удаляются.
не редактировали цитату так есть много политических вещей, которые были бы не по теме здесь (но это ваш совет!)
см нить @ -ck для некоторого начального комментария к точке 13. В противном случае
пригласить Дев и технологий завсегдатаев комментировать

Дело в том, чтобы иметь в виду, что ядро ​​имеет показательный для тестирования, исправление ошибок и просто как правило, имеющие невероятно стабильную и надежную кодовую. Таким образом, в то время как люди могут работать SegWit2x код в промежуточный период, чтобы убедиться, что он включен, я себе многие из них вернуться к Ядра Ядро релиз МОМЕНТ совместимый код. Таким образом, любая потеря в доминировании сердечника, вероятно, будет только временным.

Короче говоря, я согласен, есть достаточно вероятно поддержки активную в 2MB вилку, но я не согласен, что ядро ​​будет терять значительную долю рынка в долгосрочной перспективе, даже если 2MB вилка создает самую длинную цепочку и получает мантию Bitcoin.

Nokia был также хорош при тестировании и надежности, где они сейчас?

И основной код дерьмо, любой опыт в написании KERNELS / драйверов, или сверхнизкая связь латентности / / Военных / финансовые систем безопасности мгновенно замечают:

1. Общий недостаток касается для L0 / L1 / TLB / L2 / L3 / DRAM латентности и локальности данных.
2. Отсутствие кэш-линии заполнения и выравнивания.
3. Отсутствие встроенного монтажа в критических петлях.
4. Отсутствие процессора и платформы конкретных взлетов скорости.
5. Неэффективных структуры данных и данные потока.
6. Не заменять простым, если / иначе с внеофисными операциями.
7. Не используя __builtin_expect (), чтобы отраслевые прогнозы более точными.
8. Не нарушая большие петли на более мелкие петли, чтобы использовать кэш L0 (Loop плиточного).
9. Не кодирования таким образом, что сознательно помогает CPU префетчеру обманывает время.
10. Ненужные копирование памяти.
11. Ненужный указатель чеканка.
12. Использование указателей вместо регистров в производительности чувствительных областях.
13. Хранение данных Неэффективных (LevelDB? Давайте, лучшие LevelDB дэвы переехали на RocksDB года назад)
14. Отсутствие простоты.
15. Отсутствие четкого разделения проблем.
16. Общая забивка совместность часто видела в проектах, связанных с слишком много людей разных уровней квалификации.

Узкая сегодня производительность является памятью, регистр процессора 150-400 раз быстрее, чем основная память, в 10 раз, что если вы используете новейшие процессоры и код таким образом, чтобы использовать все исполнительные блоки параллельно и использовать SIMD (из -of заказ размер окна исполнения, 168 в Sandy Bridge, 192 в Haswell, 224 в Skylake).

Один простой промах кэша, и вы в конечном итоге тратить время на 30-400 команд процессора. Даже перемещение 1 байт от одного ядра к другому занимает 40 наносекунд, что достаточно времени для 160 команд на 4 ГГц CPU.

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

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

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

Таким образом, в то время как люди могут работать SegWit2x код в промежуточный период, чтобы убедиться, что он включен, я себе многие из них вернуться к Ядра Ядро релиз МОМЕНТ совместимый код. Таким образом, любая потеря в доминировании сердечника, вероятно, будет только временным.

Короче говоря, я согласен, есть достаточно вероятно поддержки активную в 2MB вилку, но я не согласен, что ядро ​​будет терять значительную долю рынка в долгосрочной перспективе, даже если 2MB вилка создает самую длинную цепочку и получает мантию Bitcoin.

Таким образом, даже вентилятор мальчик сердечника должен согласиться, что ядро ​​должно упасть в очереди, чтобы оставаться актуальными.

Вентилятор мальчик может фантазировать все стекается обратно в ядро ​​после того как они теряют первые на рынок преимущества.

Но ключ, даже если ядро ​​решит упасть в очереди, чтобы оставаться актуальными, они больше не могут играть бог, как и раньше.

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


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


6 июля 2017, 11:28:18 AM   # 2
 
 
Сообщения: 2366
Цитировать по имени
цитировать ответ
по умолчанию Re: Некоторые «технические комментарии» о коде ядра особ. использование аппаратного обеспечения

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





То, что вы видите здесь кто-то пытается накачать свое эго crapping на работу других и пытается показать, чтобы произвести впечатление на вас, как убер технический он is-- не первый или последний из тех, кого мы увидим.

Четверть из пунктов в списке, как "Отсутствие встроенного монтажа в критических петлях."  являются неправдой, а также показать в других оскорбительных людей, списки, как вещи Bitcoin Ядро делает и это ужасно для этого, потому что его противоположна портативность надежности или идея плакатов кодовых эстетики (или потому, что MSVC перестал поддерживать встроенный ассемблер, таким образом, любой, кто использует это "придурок").

Вот прямая дурман: Если замечания заслуживает внимания и автор были квалифицированы, чтобы применить them-- где патч? О, смотрите на это, без исправлений.

Многие из людей, работающих на проекте, имеют многолетний опыт работы с программированием низкого уровня (например, я провожу много лет создания мультимедийных кодеков, Wladimir делает такие вещи, как видео-драйвера и IIRC используются для работы в полупроводниковой промышленности), а кодовый отражает многие точки оптимизации с микро-архитектурные особенности в виду. Но _most_ в кодовом не горячий пути и _все_ в кодовом должен быть оптимизирован для обеспечения надежности и выше довольно способность подлежать пересмотр много всего.

Некоторые из этих советов, просто немного устарел, как well-- имеет мало смысла, чтобы испечь в оптимизации, что компилятор будет надежно выполнять по себе за счет ясности кода и ремонтопригодность; особенно в 99% кода, который не является горячим или на критическом пути латентности. (Примеры будучи инвариант цикла движения кода и использование условных ходов вместо ветвления).

Кроме того, некоторые из них справедливо и для общего кода без горячей пути: Е.Г. это довольно сложно в идиоматическом, безопасном C ++, чтобы избежать некоторого количества избыточного копирования памяти (особенно до C ++ 11, которые мы были только в состоянии модернизировать в прошлом году из-за отстающие в пользователях системы), но в критическом пути для проверка нет практически нет (хотя есть избыток небольших ассигнований, помощь в улучшении, которые были бы весьма желательны). Хотя, вы, вероятно, знаете, что если вы просто бросая вокруг оскорблений в интернете вместо запуска профайлера нет.

И, конечно же, все мы очень заняты поддержанием вещей работает надежно и improving-- и вытаскивая большие десятки улучшений производительности процентов, которые приходят от алгоритмических улучшений высокого уровня. Eeking из последнего процента в микро-оптимизаций не всегда то, что у нас есть ресурсы, чтобы сделать даже там, где они имеют смысл с точки зрения ремонтопригодности. Но, вместо того, чтобы мы перестали строить быстрый ECC код подтверждения, что не существует вне там бар нет; потому что то будет просто более важным.

Может ли быть больше микро-оптимизации: Совершенно верно. Так шаг на и пачкать руки, потому что есть 10x столько работы необходимо, поскольку есть ресурсы. Существует почти нет финансирования (в отличие от миллионов вылили в БУ только провернуть crashware); и мы не можем в принципе любой failures-- по крайней мере, не в консенсусных критических частях. Ах да, анонимные люди будут оскорбительными для вас в Интернете тоже. Это очень весело.

котировка
Неэффективное хранение данных
О, пожалуйста. Грузовой культ фигня в худшем случае. Вы даже знаете, что LevelDB используется для в Bitcoin? По какой причине вы считаете, что $ BUZZWORD_PACKAGE_DEJURE это лучше для этого? Возможно, это происходит с вами, что, возможно, люди уже протестированные другие варианты? Скалы имеют много набора функций, которые совершенно не имеют значение для нашего очень узкого использования leveldb-- я вижу в ваших других сообщениях, которые вы собираетесь на о превосходящем сжатии в rocksdb: Угадайте что: мы отключаем сжатие и выдирать из LevelDB , потому что это снизит производительность и фактически делает базу данных larger-- для нашего использования. Оказывается, что криптографические хэш не очень сжимаемые. (И как CK указал, не тот blockchain не хранится в it--, что было бы довольно глупо)

Довольно грустно, что вы чувствуете, квалифицированы к сквозным, что длинному списку обид, не имея много идей об архитектуре программного обеспечения.

котировка
С момента, ядро ​​было написано любителей или полу-профессионалов, подобрали других любителей или полу-профессионалов
Постоянные авторы, которые написали большую часть кода являются одними и теми же людьми, в значительной степени через всю жизнь проект; и они профессионалы с многолетним опытом работы. Возможно, что вы хотели бы поделиться с использованием ваши прекрасные и впечатляющие работы?

котировка
запустить два в четыре раза быстрее, даже не пытаясь.
Какой бы даже не подметки нескольких порядков величины ускорения, мы до сих пор производятся кумулятивно через жизнь project-- именно моя точка о микро-оптимизации. Конечно, взносы приветствуются. Но это чертовски много легче махать руками и оскорблять людей, которые уже производятся сто крат улучшений, потому что вы думаете, список прачечного волшебных движений собирается получить еще пару раз (и они might--, но какой ценой? )

Если вы хотите, чтобы помочь это открыто и ready-- хотя вы будете проходить по тем же высоким стандартам анализа и проверки, а не только отдал пас, потому что микро-тест получил 1% faster-- надежности является первым относится ... но 2x уровень улучшение в латентности или пропускной способность критических путей было бы очень и очень приветствуется, даже если они были немного болезненными для обзора.

Если вы не заинтересованы или able-- хорошо, то, возможно, вы просто еще один пьяный фанат спорта бросал на уступки со стенда убежден, что вы могли бы сделать это гораздо лучше, чем команда, хотя вы никогда не будете принимать на поле самостоятельно. Это не впечатляет, совсем наоборот: потому, что вы эффективно используя тот факт, что мы не самостоятельно продвигать много, и поэтому вы можете уйти с строповки некоторый мусор о том, как ужасно мы просто попытаться сделать себе выглядеть впечатляет. Это низкий удар против некоторых очень трудолюбивых людей, которых обязаны ничего тебе.

Если вы действительно выдающуюся работу, возможно, вы будете в состоянии преодолеть смущение:

котировка
2) Скажите, что вы о Craig, он все еще математик, математика проверяет.

(Подсказка: выход Райта почти все чист бред, хотя, возможно, вы были слишком заняты, будучи ебать кричали, чтобы вы заметили маленькие детали, как его примеры кода для квадратичной подписи хеширования будучи код из упряжи тестирования, который не имеет ничего общего с проверкой, его починки будучи в общей сложности не оп, его ложные утверждения, что квадратичная sighashing является проблемой реализации, ложные заявления о altstack, имеющих ничего общего с Тьюрингом полноты, ложные утверждения, что segwit делает систему квадратично медленнее, ложное утверждение, что Bitcoin ядро ​​удален опкод, ядд ядда. )
Я за один не впечатлил. Покажите нам некоторые взносы, если вы хотите, чтобы показать, что вы знаете что-то полезное, а не горячий воздух.
gmaxwell сейчас офлайн Пожаловаться на gmaxwell   Ответить с цитированием Мультицитирование сообщения от gmaxwell Быстрый ответ на сообщение gmaxwell

6 июля 2017, 12:13:11 PM   # 3
 
 
Сообщения: 644
Цитировать по имени
цитировать ответ
по умолчанию Re: Некоторые «технические комментарии» о коде ядра особ. использование аппаратного обеспечения

^ Спасибо большое
Последний из V8s сейчас офлайн Пожаловаться на Продлитесь V8s   Ответить с цитированием Мультицитирование сообщения от Последнего из V8s Быстрый ответ на сообщение Последний из V8s

6 июля 2017, 7:23:41 PM   # 4
 
 
Сообщений: 42
Цитировать по имени
цитировать ответ
по умолчанию Re: Некоторые «технические комментарии» о коде ядра особ. использование аппаратного обеспечения

То, что вы видите здесь кто-то пытается накачать свой эго, гадить на других вещах и показать, чтобы произвести впечатление на вас, как убер техническим он is-- не первый или последний из тех, кого мы увидим.

То, что вы видите здесь кто-то пытается защитить очевидный плохой выбор дизайна.

Четверть из пунктов в списке, как "Отсутствие встроенного монтажа в критических петлях."  являются неправдой, а также показать в других оскорбительных людей, списки, как вещи Bitcoin Ядро делает и это ужасно для этого, потому что его противоположна портативность надежности или идея плакатов кодовых эстетики (или потому, что MSVC перестал поддерживать встроенный ассемблер, таким образом, любой, кто использует это "придурок").

Что эстетика? Ваш код некрасиво в любом случае, ждать, вы думаете, что ваш код имеет эстетику? Дерьмо.

Вы знаете, несколько десятилетий назад люди придумали эту маленькую вещь вызов #ifdef правильно?

Просто используйте #ifdef _MSC_VER / # / # еще ENDIF вокруг встроенного ассемблера, если вы хотите, чтобы обойти MSVC.

Это основной материал, любой, кто претендует быть экспертом и не знает, что это также "придурок",

Вот прямая дурман: Если замечания заслуживает внимания и автор были квалифицированы, чтобы применить them-- где патч? О, смотрите на это, без исправлений.

Вы игнорировали ту часть, которая уже была объяснена к вам:
Есть много гуру там, которые могут сделать код сердечника запустить два в четыре раза быстрее, даже не пытаясь. Но большинство из них не будет беспокоить, если они будут работать для банкиров они рассчитывают получить деньги сторицей за это.

Как и любой уважающий себя кодер собирается очистить ваше дерьмо, и пусть вы утверждаете, все кредиты.

Многие из людей, работающих на проекте, имеют многолетний опыт работы с программированием низкого уровня

И многие люди на проекте бросить курить, потому что они не хотели работать с вами, что ваша точка?

(Например, я провожу много лет создания мультимедийных кодеков, Wladimir делает такие вещи, как видео-драйвера и IIRC используется для работы в полупроводниковой промышленности), а кодовый отражает многие точки оптимизации с микро-архитектурные особенности в виду. Но _most_ в кодовом не горячий пути и _все_ в кодовом должен быть оптимизирован для обеспечения надежности и выше довольно способность подлежать пересмотр много всего.

gmaxwell должны думать, что я единственный, кто знает код отстой.

Почему бы вам не ходить за пределами вашей маленькой церкви и осмотреться раз в то время.

Это не только микро оптимизаций вот и в вопросе, даже основные проектные решения, очевидно, недостатки.

Люди смеялись на ваш выбор в течение многих лет, и здесь вы защищаете его, потому что вы написали какой-то кодек смотреть порно с более высокой кадр несколько лет назад.

Некоторые из этих советов, просто немного устарел, как well-- имеет мало смысла, чтобы испечь в оптимизации, что компилятор будет надежно выполнять по себе за счет ясности кода и ремонтопригодность; особенно в 99% кода, который не является горячим или на критическом пути латентности. (Примеры будучи инвариант цикла движения кода и использование условных ходов вместо ветвления).

Перевод: Мой код велик, все еще не так, никто не может, возможно, улучшить его.

Это ваш стиль и ваш выбор, он говорит людям вы не понимаете, производительность на инстинктивном уровне.

Даже просто дерьмо, как переход на --i вместо I ++, уменьшат инструкции по сборке, независимо от того, что флаги оптимизации вы используете на компилятор.

Кроме того, некоторые из них справедливо и для общего кода без горячей пути: Е.Г. это довольно сложно в идиоматическом, безопасном C ++, чтобы избежать некоторого количества избыточного копирования памяти (особенно до C ++ 11, которые мы были только в состоянии модернизировать в прошлом году из-за отстающие в пользователях системы), но в критическом пути для проверка нет практически нет (хотя есть избыток небольших ассигнований, помощь в улучшении, которые были бы весьма желательны). Хотя, вы, вероятно, знаете, что если вы просто бросая вокруг оскорблений в интернете вместо запуска профайлера нет.

Перевод: Мой код велик, все остальные неправы.

И, конечно же, все мы очень заняты поддержанием вещей работает надежно и improving-- и вытаскивая большие десятки улучшений производительности процентов, которые приходят от алгоритмических улучшений высокого уровня. Eeking из последнего процента в микро-оптимизаций не всегда то, что у нас есть ресурсы, чтобы сделать даже там, где они имеют смысл с точки зрения ремонтопригодности. Но, вместо того, чтобы мы перестали строить быстрый ECC код подтверждения, что не существует вне там бар нет; потому что то будет просто более важным.

Может ли быть больше микро-оптимизации: Совершенно верно. Так шаг на и пачкать руки, потому что есть 10x столько работы необходимо, поскольку есть ресурсы. Существует почти нет финансирования (в отличие от миллионов вылили в БУ только провернуть crashware); и мы не можем в принципе любой failures-- по крайней мере, не в консенсусных критических частях. Ах да, анонимные люди будут оскорбительными для вас в Интернете тоже. Это очень весело.

Опять же, это не только микро-оптимизация, это большой жир плохого выбор дизайна.

Мы не пришли сюда, чтобы колотить вас или колотить код, тема просто подошла, и в том, что 1 странице людей уже издевалась ваш выбор.

Как этот из ComputerGenie:

Почему, черт возьми, ядро ​​все еще застряли на LevelDB в любом случае?
По той же причине BDB не когда-либо был заменен, потому что даже после softtfork а также жесткий вилка, новые бумажники еще должны быть обратно совместимы с уже нефункциональными 2011 кошельками.  

Это должно сказать вам кое-что.

Неэффективное хранение данных О, пожалуйста. Грузовой культ фигня в худшем случае. Вы даже знаете, что LevelDB используется для в Bitcoin? По какой причине вы считаете, что $ BUZZWORD_PACKAGE_DEJURE это лучше для этого? Возможно, это происходит с вами, что, возможно, люди уже протестированные другие варианты? Скалы имеют много набора функций, которые совершенно не имеют значение для нашего очень узкого использования leveldb-- я вижу в ваших других сообщениях, которые вы собираетесь на о превосходящем сжатии в rocksdb: Угадайте что: мы отключаем сжатие и выдирать из LevelDB , потому что это снизит производительность для нашего использования. Оказывается, что криптографические хэш не очень сжимаемые.

Всем известно, производительность расходы сжатия, это для экономии пространства, WTF, которую вы даже на о.

Большинство CPU работает в холостом режиме большую часть времени, и SSD по-прежнему дорого.

Так просто использовать RocksDB, или просто бросить в LZ4 Lib, добавить опцию в конфигурации, и пусть люди с приличным CPU включить сжатие и сохранить 20G и многое другое.

Я просто скопировал весь bitcoind каталог (как блоки, индекс, EXEC, всё) на пуле ZFS с компрессией LZ4 включен и на 256k размер записи он сэкономил более 20G для меня.

Работает просто отлично, и ZFS даже не известна своей производительности.

(И как CK указал, не тот blockchain не хранится в it--, что было бы довольно глупо)

Это было не то, что сказал CK, CK, что сказал, было: я не поклонник его работы либо [# 1058]

Есть ли у вас трудности с чтением или просто быть намеренно нечестно?

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

Не имеет значения, сколько времени жизни люди потратили на нее, когда вы видите глупое дерьмо, как SHA256 () дважды, вы знаете, что написано любителями.

Какой бы даже не подметки нескольких порядков величины ускорения, мы до сих пор производятся кумулятивно через жизнь project-- именно моя точка о микро-оптимизации. Конечно, взносы приветствуются. Но это чертовски много легче махать руками и оскорблять людей, которые уже производятся сто крат улучшений, потому что вы думаете, список прачечного волшебных движений собирается получить еще пару раз (и они might--, но какой ценой? )

Если вы хотите, чтобы помочь это открыто и ready-- хотя вы будете проходить по тем же высоким стандартам анализа и проверки, а не только отдал пас, потому что микро-тест получил 1% faster-- надежности является первым относится ... но 2x уровень улучшение в латентности или пропускной способность критических путей было бы очень и очень приветствуется, даже если они были немного болезненными для обзора.

Если вы не заинтересованы или able-- хорошо, то, возможно, вы просто еще один пьяный фанат спорта бросал на уступки со стенда убежден, что вы могли бы сделать это гораздо лучше, чем команда, хотя вы никогда не будете принимать на поле самостоятельно. Язык это не впечатляет, совсем наоборот: потому, что вы эффективно используя тот факт, что мы не самостоятельно продвигать много, и поэтому вы можете уйти с строповки некоторый мусор о том, как ужасно мы просто попробовать сделать самостоятельно выглядят впечатляюще. Это низкий удар против некоторых очень трудолюбивых людей, которых не обязаны ничего вам.

Все это фигня говорить не имеет смысл, когда ваши глупые выборы базового уровня повсюду.

Здесь, ваш внутренний sha256 Пб критическая функция хеширования все операции кодирования / декодирования зависит от, тот, который не обновлялся с 2014 года:

https://github.com/bitcoin/bitcoin/blob/master/src/crypto/sha256.cpp

SHA256 является одним из ключевых элементов операций Bitcoin, блоки используют его, транзакции используют его, адрес даже использовать его в два раза.

Так что ваше оправдание для не использования SSE / AVX / AVX2 и расширение Intel SHA? Эстетика? Переносимость? Пфф.

Есть горы ускоренного SHA2 LIBS там, как этот,
Поддерживает расширение Intel SHA, поддерживает ARMv8, даже имеют заголовки MVSC:

котировка
https://github.com/noloader/SHA-Intrinsics/blob/master/sha256-x86.c

Функции сжатия SHA-1, SHA-224 и SHA-256 с использованием Intel SHA и встроенные функции ARMv8 SHA встроенные функции

Для AVX2, вот один из самих Intel:

котировка
https://patchwork.kernel.org/patch/2343841/

Оптимизированный sha256 x86_64 процедура с использованием инструкции RORX AVX2 в

Обеспечивает SHA256 x86_64 сборки рутина оптимизировано с SSE, AVX и
инструкции RORX AVX2 в. Форсировочная 70% или более было
Измеряется по общей реализации.


Подпись-офф-: Тим Чен <tim.c.chen@linux.intel.com>

Существует ваш 70% скорости для одной критической операции на вашем горячем пути.

Это не какой-то расширенный дерьмо, что Intel патч был создан 26 марта 2013 года, ваши SHA256 Lib был последний раз обновлялся в декабре 19, 2014, так что патч существовал за год до последнего обновления. У нас есть еще более быстрый материал теперь использует Intel SHA встроенных функций.

Вы говорите много дерьма, но ваш код и выбор, как они сделаны любителями.

Работает в "криптовалюта" автоматически не делает вас экспертом, потому что слово имеет "крипто-" в этом.

Сосредоточьте свое глупое дерьмо вместо продолжать говорить об этом.
Troll Buster сейчас офлайн Пожаловаться на троллей Buster   Ответить с цитированием Мультицитирование сообщения от Troll Buster Быстрый ответ на сообщение Troll Buster

6 июля 2017, 7:55:40 PM   # 5
 
 
Сообщения: 1736
Цитировать по имени
цитировать ответ
по умолчанию Re: Некоторые «технические комментарии» о коде ядра особ. использование аппаратного обеспечения

То, что вы видите здесь кто-то пытается накачать свой эго, гадить на других вещах и показать, чтобы произвести впечатление на вас, как убер техническим он is-- не первый или последний из тех, кого мы увидим.

То, что вы видите здесь кто-то пытается защитить очевидный плохой выбор дизайна.
...
 --я вместо ++ я
...
Сосредоточьте свое глупое дерьмо вместо продолжать говорить об этом.


Как кто-то, кто имеет 30-летний опыт плюс BS в CS и CE, и MS в CS (из лучших программ 10 US CS / CE), этот вид языка не способ (а) сделать вашу точку зрения, и (б) получить кто-нибудь слушать вас с какой-либо степенью уважения. 

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

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

6 июля 2017, 8:04:49 PM   # 6
 
 
Сообщения: 1400
Цитировать по имени
цитировать ответ
по умолчанию Re: Некоторые «технические комментарии» о коде ядра особ. использование аппаратного обеспечения

@TrollBuster

Вы ответили с большим количеством "переводы", Но я думаю, gmaxwell положить его довольно ясно:

Вот прямая дурман: Если замечания заслуживает внимания и автор были квалифицированы, чтобы применить them-- где патч? О, смотрите на это, без исправлений.

Некоторые из ваших "переводы" действительно сомнительна:

Некоторые из этих советов, просто немного устарел, как well-- имеет мало смысла, чтобы испечь в оптимизации, что компилятор будет надежно выполнять по себе за счет ясности кода и ремонтопригодность; особенно в 99% кода, который не является горячим или на критическом пути латентности. (Примеры будучи инвариант цикла движения кода и использование условных ходов вместо ветвления).

Перевод: Мой код велик, все еще не так, никто не может, возможно, улучшить его.

Это не кажется правильным. Мое чтение gmaxwell был очень сильно сформулированное приглашение вы идти вперед и улучшить его.

котировка
Какой бы даже не подметки нескольких порядков величины ускорения, мы до сих пор производятся кумулятивно через жизнь project-- именно моя точка о микро-оптимизации. Конечно, взносы приветствуются. Но это чертовски много легче махать руками и оскорблять людей, которые уже производятся сто крат улучшений, потому что вы думаете, список прачечного волшебных движений собирается получить еще пару раз (и они might--, но какой ценой? )

Если вы хотите, чтобы помочь это открыто и ready-- хотя вы будете проходить по тем же высоким стандартам анализа и проверки, а не только отдал пас, потому что микро-тест получил 1% faster-- надежности является первым относится ... но 2x уровень улучшение в латентности или пропускной способность критических путей было бы очень и очень приветствуется, даже если они были немного болезненными для обзора.

Если вы не заинтересованы или able-- хорошо, то, возможно, вы просто еще один пьяный фанат спорта бросал на уступки со стенда убежден, что вы могли бы сделать это гораздо лучше, чем команда, хотя вы никогда не будете принимать на поле самостоятельно. Язык это не впечатляет, совсем наоборот: потому, что вы эффективно используя тот факт, что мы не самостоятельно продвигать много, и поэтому вы можете уйти с строповки некоторый мусор о том, как ужасно мы просто попробовать сделать самостоятельно выглядят впечатляюще. Это низкий удар против некоторых очень трудолюбивых людей, которых не обязаны ничего вам.

Все это фигня говорить не имеет смысл, когда ваши глупые выборы базового уровня повсюду.

Не могли вы, как, исправить некоторые из «глупых вариантов базового уровня» в целях укрепления ваших аргументов?



Насколько я могу вам сказать, были приглашены предложить улучшения, а не просто оскорбляет, но это, кажется, что вы решили ответить с последующими оскорблениями.

Если по какой-то причине, вы не можете предоставить патч, но может дать некоторые полезные обсуждения, которые могли бы привести к улучшению, то кажется, что вы, возможно, придется изменить свой подход.

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

6 июля 2017, 8:32:03 PM   # 7
 
 
Сообщений: 42
Цитировать по имени
цитировать ответ
по умолчанию Re: Некоторые «технические комментарии» о коде ядра особ. использование аппаратного обеспечения


Как кто-то, кто имеет 30-летний опыт плюс BS в CS и CE, и MS в CS (из лучших программ 10 US CS / CE), этот вид языка не способ (а) сделать вашу точку зрения, и (б) получить кто-нибудь слушать вас с какой-либо степенью уважения.  

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

Если Greg хочет относиться с уважением, он не должен начинать и заканчивать ответ с оскорблениями.

Это --i и ++ я это основной материал, и вы хотите, чтобы об этом спорить? WTF вы делали в течение последних 30 лет?

И это не только скорость, это меньше байт-код, который позволит вам упаковать больше кода в кэш команд L0 крошечного и уменьшить промах кэша, который до сих пор стоит у вас 4cycles, когда вы повторно извлекать его из L1 в L0.

Это также означает, что вы можете разместить больше коды в этом крошечном кэша команд 32кба L1, так что ваши другие петли / потоки могут работать быстрее, не выгоняют из кэша с помощью других кодов. Это также экономит энергию на встраиваемых системах.

Это то, что я говорил о том, что мир наводнен "эксперты" с "30 лет опыта" а также "50 алфавитных названий суп" но до сих пор не имеют абсолютно никакого представления WTF на самом деле происходит внутри процессора.

Только бездарные кодеры говорить о полномочиях вместо кода.

Это не какой-то супер-продвинутый материал, это знание начального уровня, что даже не для обсуждения.
Информация есть везде, это занимает 1 секунду, чтобы найти, смотрите:

котировка
https://stackoverflow.com/questions/2823043/is-it-faster-to-count-down-than-it-is-to-count-up/2823164#2823164

Какой цикл имеет лучшую производительность? Увеличение или уменьшение?

Что ваш учитель сказал, было каким-то косое заявлением без особых разъяснений. Это не то, что декрементирование быстрее увеличивающиеся но вы можете создать гораздо быстрее цикл с декрементом, чем с приращением.

Int я;
для (я = 0; я < 10; я ++) {
    // что-то здесь
}

после компиляции (без оптимизации) скомпилированные версии может выглядеть следующим образом (VS2015):

-------- C7 45 B0 00 00 00 00 мов DWORD PTR ,0  
-------- EB 09 JMP labelB
labelA 8B 45 B0 MOV EAX, DWORD PTR  
-------- 83 C0 01 добавить EAX, 1  
-------- 89 45 B0 мов DWORD PTR ,е  
labelB 83 7D B0 0A CMP DWORD PTR ,0Ah  
-------- 7D 02 JGE out1
-------- EB EF JMP labelA  

Весь цикл 8 команд (26 байт). В нем - есть на самом деле 6 команд (17 байт) с 2-х ветвей. Да да, я знаю, что это может быть сделано лучше (его просто пример).

Теперь рассмотрит эту частую конструкцию которой вы будете часто находите письменную внедренным разработчик:


I = 10;
делать{
    // что-то здесь
} в то время как я);

Он также перебирает 10 раз (да, я знаю, что значение отличается по сравнению с показан цикл, но мы заботимся о подсчете итераций здесь). Это может быть скомпилирован в этом:

00074EBC C7 45 B0 01 00 00 00 мы DWORD PTR ,1  
00074EC3 8B 45 B0 MOV EAX, DWORD PTR  
00074EC6 83 Е8 01 суб EAX, 1  
00074EC9 89 45 B0 мов DWORD PTR ,е  
00074ECC 75 F5 JNE основной + 0C3h (074EC3h)  

5 команд (18 байт) и только одна ветвь. На самом деле есть 4 команд в цикле (11 байт).

Самое лучшее, что некоторые процессоры (x86 / x64 совместимы в комплекте) имеют инструкцию, которая может декремент регистра, а затем сравните результат с нуля и выполнить переход, если результат отличается от нуля. Практически все процессоры ПК реализовать эту инструкцию. Используя это цикл на самом деле только один (да один) 2 инструкции байт:

00144ECE B9 0A 00 00 00 мов ECX, 0Ah  
метка:
                          // что-то здесь
00144ED3 Е2 FE этикетки петли (0144ED3h) // декремент ECX и переход на метку, если не равен нулю

Должен ли я объяснить, что быстрее?


Вот еще на L0 и мопы кэш команд:

котировка
http://www.realworldtech.com/haswell-cpu/2/

Sandy Bridge добилась огромных успехов в улучшении переднего плана и обеспечении бесперебойной доставки микрооперации к остальной части трубопровода. Самое большое улучшение было моп кэш, который по существу действует в качестве кэш-памяти в инструкции L0, но содержит фиксированную длину декодируется микрооперации. Кэш моп практически на имя и включена в кэше команд L1. Удары в кэш микроопераций имеет ряд преимуществ, в том числе сокращение длины трубопровода за счет исключения мощности голодными этапов декодирования инструкций и позволяет эффективную пропускную способность 32В инструкций за такт. Для новых инструкций SIMD, 1 выборки предела был проблематичен, поэтому кэш мопа синергетическим приятно с такими расширениями, как AVX.

Кэш моп Haswell имеет тот же размер и организация, как и в Sandy Bridge. Линии кэша UOP провести до 6 микрооперации, а кэш организован в 32 наборов 8 строк кэша (т.е. 8 способа ассоциативных). Окно 3 принесенных х86 может отображать до 3 строк в пределах одного пути. Хиты в кэше микроопераций могут поставить 4 Uops / цикл, и эти 4 микроопераций могут соответствовать 32В инструкций, в то время как традиционный передний конец не может обрабатывать более 16В / цикл. Для выполнения, кэш мопа может содержать microcoded инструкции как указатель на микрокод, но частичные хиты не поддерживаются. Как и в кэше команд, декодированный UOP кэш разделяют активных потоков.
Troll Buster сейчас офлайн Пожаловаться на троллей Buster   Ответить с цитированием Мультицитирование сообщения от Troll Buster Быстрый ответ на сообщение Troll Buster

6 июля 2017, 8:42:19 PM   # 8
 
 
Сообщений: 42
Цитировать по имени
цитировать ответ
по умолчанию Re: Некоторые «технические комментарии» о коде ядра особ. использование аппаратного обеспечения

Не могли вы, как, исправить некоторые из «глупых вариантов базового уровня» в целях укрепления ваших аргументов?

Насколько я могу вам сказать, были приглашены предложить улучшения, а не просто оскорбляет, но это, кажется, что вы решили ответить с последующими оскорблениями.

Если по какой-то причине, вы не можете предоставить патч, но может дать некоторые полезные обсуждения, которые могли бы привести к улучшению, то кажется, что вы, возможно, придется изменить свой подход.

Я не поклонялся в ничьим "церковь" здесь, я просто заметил, динамику: вы были приглашены, чтобы доказать ценность ваших предположений, но ваш ответ не кажется, движется в этом направлении.

От "вы не можете предоставить патч" вы имеете в виду такие вещи, как SHA256 патч Intel я разместил в конце?

LOL, какой ерунды эхо-камера это? Вы, ребята, смешно.
Troll Buster сейчас офлайн Пожаловаться на троллей Buster   Ответить с цитированием Мультицитирование сообщения от Troll Buster Быстрый ответ на сообщение Troll Buster

6 июля 2017, 10:11:09 PM   # 9
 
 
Сообщения: 1736
Цитировать по имени
цитировать ответ
по умолчанию Re: Некоторые «технические комментарии» о коде ядра особ. использование аппаратного обеспечения

Может быть, вы должны попробовать чтение и понимание перед атакой. я никогда "утверждал" с вами о --i и я ++. Я попросил конкретики в коде, о которых вы имели в виду - что должно быть легко обеспечить - и указал компиляторы довольно умны о оптимизаций, но не зная, что код, который вы ссылаетесь, невозможно рассмотреть.

Легкий вопрос: где это "переключение на --i вместо ++ I" которые вы говорите? Просто разместить ссылку на него на GitHub.

А Что касается вашего "бездарные кодеры говорить о полномочиях" Вы снова, кажется, есть огромный чип на плече. Я говорил о своем опыте - когда люди приходят и начинают оскорбительно, нападая, принижая с большим количеством рук завивки и большим чипом на их плечи и никакой конкретики, они игнорируются (или не наняли) в моем опыте на большом (22000 плюс люди) и малые организации (3+). И это правильно. Я думаю, что все будет оценить специфику, а не безосновательные, беспочвенные, неточных атак. 

Без более подробно никто не может оценить, являются ли вы хорошо кодирования или просто оскорбительно.




Как кто-то, кто имеет 30-летний опыт плюс BS в CS и CE, и MS в CS (из лучших программ 10 US CS / CE), этот вид языка не способ (а) сделать вашу точку зрения, и (б) получить кто-нибудь слушать вас с какой-либо степенью уважения.  

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

Если Greg хочет относиться с уважением, он не должен начинать и заканчивать ответ с оскорблениями.

Это --i и ++ я это основной материал, и вы хотите, чтобы об этом спорить? WTF вы делали в течение последних 30 лет?

И это не только скорость, это меньше байт-код, который позволит вам упаковать больше кода в кэш команд L0 крошечного и уменьшить промах кэша, который до сих пор стоит у вас 4cycles, когда вы повторно извлекать его из L1 в L0.

Это также означает, что вы можете разместить больше коды в этом крошечном кэша команд 32кба L1, так что ваши другие петли / потоки могут работать быстрее, не выгоняют из кэша с помощью других кодов. Это также экономит энергию на встраиваемых системах.

Это то, что я говорил о том, что мир наводнен "эксперты" с "30 лет опыта" а также "50 алфавитных названий суп" но до сих пор не имеют абсолютно никакого представления WTF на самом деле происходит внутри процессора.

Только бездарные кодеры говорить о полномочиях вместо кода.

Это не какой-то супер-продвинутый материал, это знание начального уровня, что даже не для обсуждения.
Информация есть везде, это занимает 1 секунду, чтобы найти, смотрите:

котировка
https://stackoverflow.com/questions/2823043/is-it-faster-to-count-down-than-it-is-to-count-up/2823164#2823164

Какой цикл имеет лучшую производительность? Увеличение или уменьшение?

Что ваш учитель сказал, было каким-то косое заявлением без особых разъяснений. Это не то, что декрементирование быстрее увеличивающиеся но вы можете создать гораздо быстрее цикл с декрементом, чем с приращением.

Int я;
для (я = 0; я < 10; я ++) {
    // что-то здесь
}

после компиляции (без оптимизации) скомпилированные версии может выглядеть следующим образом (VS2015):

-------- C7 45 B0 00 00 00 00 мов DWORD PTR ,0  
-------- EB 09 JMP labelB
labelA 8B 45 B0 MOV EAX, DWORD PTR  
-------- 83 C0 01 добавить EAX, 1  
-------- 89 45 B0 мов DWORD PTR ,е  
labelB 83 7D B0 0A CMP DWORD PTR ,0Ah  
-------- 7D 02 JGE out1
-------- EB EF JMP labelA  

Весь цикл 8 команд (26 байт). В нем - есть на самом деле 6 команд (17 байт) с 2-х ветвей. Да да, я знаю, что это может быть сделано лучше (его просто пример).

Теперь рассмотрит эту частую конструкцию которой вы будете часто находите письменную внедренным разработчик:


I = 10;
делать{
    // что-то здесь
} в то время как я);

Он также перебирает 10 раз (да, я знаю, что значение отличается по сравнению с показан цикл, но мы заботимся о подсчете итераций здесь). Это может быть скомпилирован в этом:

00074EBC C7 45 B0 01 00 00 00 мы DWORD PTR ,1  
00074EC3 8B 45 B0 MOV EAX, DWORD PTR  
00074EC6 83 Е8 01 суб EAX, 1  
00074EC9 89 45 B0 мов DWORD PTR ,е  
00074ECC 75 F5 JNE основной + 0C3h (074EC3h)  

5 команд (18 байт) и только одна ветвь. На самом деле есть 4 команд в цикле (11 байт).

Самое лучшее, что некоторые процессоры (x86 / x64 совместимы в комплекте) имеют инструкцию, которая может декремент регистра, а затем сравните результат с нуля и выполнить переход, если результат отличается от нуля. Практически все процессоры ПК реализовать эту инструкцию. Используя это цикл на самом деле только один (да один) 2 инструкции байт:

00144ECE B9 0A 00 00 00 мов ECX, 0Ah  
метка:
                          // что-то здесь
00144ED3 Е2 FE этикетки петли (0144ED3h) // декремент ECX и переход на метку, если не равен нулю

Должен ли я объяснить, что быстрее?


Вот еще на L0 и мопы кэш команд:

котировка
http://www.realworldtech.com/haswell-cpu/2/

Sandy Bridge добилась огромных успехов в улучшении переднего плана и обеспечении бесперебойной доставки микрооперации к остальной части трубопровода. Самое большое улучшение было моп кэш, который по существу действует в качестве кэш-памяти в инструкции L0, но содержит фиксированную длину декодируется микрооперации. Кэш моп практически на имя и включена в кэше команд L1. Удары в кэш микроопераций имеет ряд преимуществ, в том числе сокращение длины трубопровода за счет исключения мощности голодными этапов декодирования инструкций и позволяет эффективную пропускную способность 32В инструкций за такт. Для новых инструкций SIMD, 1 выборки предела был проблематичен, поэтому кэш мопа синергетическим приятно с такими расширениями, как AVX.

Кэш моп Haswell имеет тот же размер и организация, как и в Sandy Bridge. Линии кэша UOP провести до 6 микрооперации, а кэш организован в 32 наборов 8 строк кэша (т.е. 8 способа ассоциативных). Окно 3 принесенных х86 может отображать до 3 строк в пределах одного пути. Хиты в кэше микроопераций могут поставить 4 Uops / цикл, и эти 4 микроопераций могут соответствовать 32В инструкций, в то время как традиционный передний конец не может обрабатывать более 16В / цикл. Для выполнения, кэш мопа может содержать microcoded инструкции как указатель на микрокод, но частичные хиты не поддерживаются. Как и в кэше команд, декодированный UOP кэш разделяют активных потоков.
cr1776 сейчас офлайн Пожаловаться на cr1776   Ответить с цитированием Мультицитирование сообщения от cr1776 Быстрый ответ на сообщение cr1776

6 июля 2017, 10:29:01 PM   # 10
 
 
Сообщений: 42
Цитировать по имени
цитировать ответ
по умолчанию Re: Некоторые «технические комментарии» о коде ядра особ. использование аппаратного обеспечения

Может быть, вы должны попробовать чтение и понимание перед атакой. я никогда "утверждал" с вами о --i и я ++.

Да вы сделали, я даже подчеркнул это:

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

Перестаньте говорить ерунду.

А Что касается вашего "бездарные кодеры говорить о полномочиях" Вы снова, кажется, есть огромный чип на плече. Я говорил о своем опыте - когда люди приходят и начинают оскорбительно, нападая, принижая с большим количеством рук завивки и большим чипом на их плечи и никакой конкретики, они игнорируются (или не наняли) в моем опыте на большом (22000 плюс люди) и малые организации (3+). И это правильно. Я думаю, что все будет оценить специфику, а не безосновательные, беспочвенные, неточных атак.

Вот подсказка, если вы не хотите быть издевались, в следующий раз не начинать спор с:
"Как кто-то, кто имеет 30-летний опыт плюс BS в CS и CE, и MS в CS (из лучших программ 10 US CS / CE)"

Вы вошли сюда зная, что вы не имели ни малейшего представления о WTF происходит внутри процессора, выкинула кучу названий, сделали кучу ложных утверждений, делая требования, и вы хотите поговорить об этикете?

Ваш код отстой, все остальное делает лучше, я показал вам доказательство, я указал вам на правильном направлении, принять его или оставить его.

Ты ничего бургер с 50 наклейками на нем, и я просто не насрать, что вы думаете.
Troll Buster сейчас офлайн Пожаловаться на троллей Buster   Ответить с цитированием Мультицитирование сообщения от Troll Buster Быстрый ответ на сообщение Troll Buster

6 июля 2017, 10:58:09 PM   # 11
 
 
Сообщения: 2366
Цитировать по имени
цитировать ответ
по умолчанию Re: Некоторые «технические комментарии» о коде ядра особ. использование аппаратного обеспечения

котировка
И многие люди на проекте бросить курить, потому что они не хотели работать с вами, что ваша точка?

Назовите одну.

котировка
Люди смеялись на ваш выбор в течение многих лет, и здесь вы защищаете его, потому что вы написали какой-то кодек смотреть порно с более высокой кадр несколько лет назад.
Говорит несколько дней счетов ...


котировка
Неэффективное хранение данных О, пожалуйста. Грузовой культ фигня в худшем случае. Вы даже знаете, что LevelDB используется для в Bitcoin? По какой причине вы считаете, что $ BUZZWORD_PACKAGE_DEJURE это лучше для этого? Возможно, это происходит с вами, что, возможно, люди уже протестированные другие варианты? Скалы имеют много набора функций, которые совершенно не имеют значение для нашего очень узкого использования leveldb-- я вижу в ваших других сообщениях, которые вы собираетесь на о превосходящем сжатии в rocksdb: Угадайте что: мы отключаем сжатие и выдирать из LevelDB , потому что это снизит производительность для нашего использования. Оказывается, что криптографические хэш не очень сжимаемые.

Всем известно, производительность расходы сжатия, это для экономии пространства, WTF, которую вы даже на о.

CPU Большинство людей работает в холостом режиме большую часть времени, и SSD по-прежнему дорого.

Так просто использовать RocksDB, или просто бросить в LZ4 Lib, добавить опцию в конфигурации, и пусть люди с приличным процессором для включения сжатия и сохранить 20 + G.

Чтение неудачи с вашей стороны. Блоки не в базе данных. Это было бы очень плохо сказывается на производительности. Chainstate не по значению сжимаемый за ключом обмена (и если бы это было, кто будет заботиться, это 2GBish). Chainstate мал и полностью о производительности. На самом деле мы просто сделали 10% больше, или так, чтобы создать 25% -ish начального ускорения синхронизации.

Если вы заботитесь о том, как много места блоки используют, включите обрезку и вы сэкономите 140GB. LZ4 действительно неэффективный способ сжать blocks-- это в основном только эксплойтов повторный pubkeys от адреса повторного использования компактного serilization мы имеем лучше (снижение 28%), но это не ясно, если его стоит замедления, тем более, что вы можете просто подрезать и сэкономить намного больше.

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

котировка
Так что ваше оправдание для не использования SSE / AVX / AVX2 и расширение Intel SHA? Эстетика? Переносимость? Пфф.

Был неполный PR для этого, это было нечто вроде разницы в производительности 5% для первоначальной синхронизации в момент; было бы несколько более теперь из-за другие оптимизации. Вместо этого мы потратили больше времени устранения избыточных операций SHA256 в кодовом, который получил намного больше скорости вверх, то этот последний битой оптимизации будет. Он используется в волоконно-кодовую без автоопределения. Пожалуйста, не стесняйтесь, чтобы закончить автоопределение для него. Это идеальный проект для нового вкладчика. У нас также есть новый хост AMD, так что расширения x86_64 SHA2 можно протестировать на нем.

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

6 июля 2017, 11:35:17 PM   # 12
 
 
Сообщений: 42
Цитировать по имени
цитировать ответ
по умолчанию Re: Некоторые «технические комментарии» о коде ядра особ. использование аппаратного обеспечения

котировка
И многие люди на проекте бросить курить, потому что они не хотели работать с вами, что ваша точка?

Назовите одну.

Как насчет всего XT команд для начинающих:

котировка
https://bulldozer00.com/2016/01/19/ready-and-waiting/

Из-за непоколебимое упорство команды разработчиков программного обеспечения Bitcoin ядра отказаться от повышения максимального размера блока в рамках Протокола своевременно, три программных вилы готовы и ждем своего часа, чтобы спасти день если сеть Bitcoin начинает становиться слишком ненадежны из-за непрерывный рост использования.

Итак, почему бы команда Bitcoin Ядро вытаскивание ноги на 2-х лет на решении, казалось бы, простой вопрос максимального блока? Может быть, это потому, что некоторые ключевые члены команды разработчиков, в первую очередь Грег Максвелл, уплачиваются коммерческой компанией, чья миссия состоит в том, чтобы получить прибыль от отстаиванию технологии боковой цепи: Blockstream.com. Грег Максвелл является Blockstream соучредителем.


Говорит несколько дней счетов ...

Хорошо, если логика не работает, просто падают обратно с помощью подсчета даты регистрации и пост, чтобы установить власть.

Как парень выше вас, кто утверждал, что "30 лет опыта" демонстрируя при этом меньше знаний о CPU и компиляторов, чем сопли носом новичка дронов программиста.

Чтение неудачи с вашей стороны. Блоки не в базе данных. Это было бы очень плохо сказывается на производительности. Chainstate не по значению сжимаемый за ключом обмена (и если бы это было, кто будет заботиться, это 2GBish).

В то время я даже не знаю, что вы, ребята, были настолько глупы, чтобы не сжать 150G блоков, пока кто-то напомнил мне в этом потоке. Серьезно, что точка оставляя блоки с 2009 несжатое? SSD дешево в эти дни, но не так дешево.

Если вы заботитесь о том, как много места блоки используют, включите обрезку и вы сэкономите 140GB.

Таким образом, после всех разговоров о ваших L33t навыках порно кодеков, ваше решение, чтобы сэкономить место, чтобы просто обрезать блоки? ЛОЛ. Можно также сказать, "Просто запустите тонкий бумажник",

Почему вы думаете, эксперты сжатия во всем мире изобрели алгоритмы, такие как LZ4? Почему вы думаете, что это часть ZFS? Потому что это достаточно быстро, и она работает, просто испытанные технологии используются миллионами низкой NAS власти во всем мире в течение многих лет.

Существует пиар для этого, это было что-то вроде разницы в производительности на 5% для начальной синхронизации в то время; было бы несколько более теперь из-за другие оптимизации. Он используется в волоконно-кодовую без автоопределения. Пожалуйста, не стесняйтесь, чтобы закончить автоопределение для него.

Я бы сделал патчи давно, если весь проект не был уже прогнил насквозь.




Я вижу, вы только что добавили эту часть:

LZ4 действительно неэффективный способ сжать blocks-- это в основном просто использует повторяющиеся pubkeys от адреса повторного Саде компактный serilization мы лучше (снижение 28%), но это не ясно, если его стоит замедление, тем более, что вы можете просто обрезать и сохранить гораздо больше.

Здесь существует более 100 алгоритмов сжатия, все придуманные и протестированные для вас.
Вы легко найдете тот, который имеет профиль размер / скорость / MEM, что просто случается, отлично работает на Bitcoin блок файлов и лучше, чем LZ4.

Просто выберите один.

котировка
http://mattmahoney.net/dc/text.html
Большой текст Compression Benchmark

Параметры программы enwik8    
-------           -------                     ----------  
CMIX v13 15323969  
durilca'kingsize -m13000 -o40 -t2 16209167  
paq8pxd_v18 -s15 16345626  
paq8hp12any -8 16230028  
DRT | эмма 0.1.22 16679420  
zpaq 6,42 -m s10.0.5fmax6 17855729  
DRT | lpaq9m 9 17964751  
тыс.куб.м 0,83 -x11 18233295  
nanozip 0.09a -cc -m32g -p1 -t1 -nm 18594163  
ЦМВ 00.01.01 -m2,3,0x03ed7dfb 18,122,372  
Troll Buster сейчас офлайн Пожаловаться на троллей Buster   Ответить с цитированием Мультицитирование сообщения от Troll Buster Быстрый ответ на сообщение Troll Buster

6 июля 2017, 11:41:07 PM   # 13
 
 
Сообщения: 1736
Цитировать по имени
цитировать ответ
по умолчанию Re: Некоторые «технические комментарии» о коде ядра особ. использование аппаратного обеспечения

Как насчет размещения ссылки (как я просил 3 раза в настоящее время) туда, где вы выступаете "переключение на --i вместо ++ I"?

Я вполне осознает, что "происходит внутри процессора" и фактически сделал несколько конструкций процессора. Хотя я думаю, что нужно опускать "попойка" так как вы просто троллинг нас.



Может быть, вы должны попробовать чтение и понимание перед атакой. я никогда "утверждал" с вами о --i и я ++.

Да вы сделали, я даже подчеркнул это:

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

Ну технически вы вывесили ++ я и я ++, но все это время я говорил о ++ I и --i, это было то, что вы реагировали, и вы заявили, что компиляторы могут обрабатывать все, что они не могут, и это знание начального уровня.

А Что касается вашего "бездарные кодеры говорить о полномочиях" Вы снова, кажется, есть огромный чип на плече. Я говорил о своем опыте - когда люди приходят и начинают оскорбительно, нападая, принижая с большим количеством рук завивки и большим чипом на их плечи и никакой конкретики, они игнорируются (или не наняли) в моем опыте на большом (22000 плюс люди) и малые организации (3+). И это правильно. Я думаю, что все будет оценить специфику, а не безосновательные, беспочвенные, неточных атак.

Вот подсказка, если вы не хотите быть издевались, в следующий раз не начинать спор с:
"Как кто-то, кто имеет 30-летний опыт плюс BS в CS и CE, и MS в CS (из лучших программ 10 US CS / CE)"

Вы вошли сюда зная, что вы не имели ни малейшего представления о WTF происходит внутри процессора, выкинула кучу названий, сделали кучу ложных утверждений, делая требования, и вы хотите поговорить об этикете?

Ваш код отстой, все остальное делает лучше, я показал вам доказательство, я указал вам на правильном направлении, принять его или оставить его.

Ты ничего бургер с 50 наклейками на нем, и я просто не насрать, что вы думаете.

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

7 июля 2017, 3:24:09 AM   # 14
 
 
Сообщения: 2366
Цитировать по имени
цитировать ответ
по умолчанию Re: Некоторые «технические комментарии» о коде ядра особ. использование аппаратного обеспечения

XT команда для начала:
Интересный факт: Майк Хирн вклад в общей сложности что-то вроде 6 относительно малой тяги requests-- большинство просто меняя строки. Это популярная дезинформация, что он был каким-то основной вклад в проект. Некоторые из его изменений, которые не были введены изменения струнные удаленные уязвимости (но, к счастью, мы поймали их обзор.)

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

котировка
В то время я даже не знаю, что вы, ребята, были настолько глупы, чтобы не сжать 150G блоков, пока кто-то напомнил мне в этом потоке. Серьезно, что точка оставляя блоки с 2009 несжатое? SSD дешево в эти дни, но не так дешево.
С 2009 года? ... Вы знаете, что блоки не доступны на всех, за исключением новых коллег, которые читают все из них прав? Они на самом деле не обращались любой менее доступны, чем блоки от 6 месяцев назад. (Они также в значительной степени полностью с LZ4 несжимаемыми, так как в отличие от современных блоков они не полны переработаны адреса).

Как почему? Поскольку уменьшение размера 10% не все, что интересно особенно за счет создания Fetching блоков для цветения фильтруется облегченными узлов гораздо более ресурсоемких, так как это уже вектор DOS.


[Редактировать: dooglus указывает самые ранние блоки на самом деле довольно сжимаемый предположительно потому, что они состоят из ничего, кроме coinbase сделок, которые имеют огромный комок нулей в них.]

котировка
Таким образом, после всех разговоров о ваших L33t навыках порно кодеков, ваше решение, чтобы сэкономить место, чтобы просто обрезать блоки? ЛОЛ. Можно также сказать, "Просто запустите тонкий бумажник",
Мм, звучит, как вы дезинформировали об этом тоже: Обрезка не делает абсолютно никаких изменений в области безопасности, конфиденциальности, или поведение вашего узла другой, чем вы больше не помогают новые узлы делают их первоначальной синхронизации / сканирования. Вне этих узких вещей обрезки узел полностью неразличим. И вместо того, чтобы только уменьшение хранения 10%, это уменьшает его 99%.

котировка
Почему вы думаете, эксперты сжатия во всем мире изобрели алгоритмы, такие как LZ4? Почему вы думаете, что это часть ZFS? Потому что это достаточно быстро, и она работает, просто испытанные технологии используются миллионами низкой NAS власти во всем мире в течение многих лет.

Здесь существует более 100 алгоритмов сжатия, все придуманные и протестированные для вас.
Вы легко найдете тот, который имеет профиль размер / скорость / MEM, что просто случается, отлично работает на Bitcoin блок файлов и лучше, чем LZ4.
LZ4 прекрасно материал, но это не правильный инструмент для Bitcoin практически все данные в Bitcoin являются криптографическими хэш, которые полностью uncompressable. Поэтому простое изменение более эффективной сериализации может получить сокращение более 28% в то время как ваш LZ4 получает только 10%. не касается другого things-- нет, мы не будем: блок данных не как обычные документы и традиционные компрессоры не делают очень много с ним.

(И как в сторону, каждый один из пунктов в списке исключительно медленно. Лол, например, я считаю, что верхний элемент в нем принимает это около 12 часов, чтобы распаковать его файл 15Мб enwiki8. Хех способ показать свои навыки ниндзя рекомендательные )

Если вы хотите работать на сжатие, я могу указать вам на уплотненной сериализации спецификации, которая получает около 30% ... но если вы думаете, что вы собираетесь использовать один из PAQ / частей на миллион компрессоров ... хорошо, надеюсь, что у вас есть быстрый компьютер.
 
котировка
Я бы сделал патчи давно, если весь проект не был уже прогнил насквозь.
Можете ли вы показать нам нетривиальный патч вы сделали для любого другого проекта в любом месте?
gmaxwell сейчас офлайн Пожаловаться на gmaxwell   Ответить с цитированием Мультицитирование сообщения от gmaxwell Быстрый ответ на сообщение gmaxwell

7 июля 2017, 4:34:47 AM   # 15
 
 
Сообщений: 42
Цитировать по имени
цитировать ответ
по умолчанию Re: Некоторые «технические комментарии» о коде ядра особ. использование аппаратного обеспечения

котировка
Интересный факт: Майк Хирн вклад в общей сложности что-то вроде 6 относительно малой тяги requests-- большинство просто меняя строки. Это популярная дезинформация, что он был каким-то основной вклад в проект. Некоторые из его изменений, которые не были введены изменения струнные удаленные уязвимости (но, к счастью, мы поймали их обзор.)

Ненужные.
Вы вызвали меня, чтобы найти одного человека, который бросить курить из-за вас. Я дал вам всю команду.
Вот еще одна команда, команда Bitcoin Classic, они оставили по тем же причинам.

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

Я ничего о себе не заявляют.
Ваш код отстой, вы сказали Нету они большие, поэтому я показал вам, где я показал вам, как улучшить его.
Тогда вы пошли все "Говорит несколько дней счетов", "я потратил годы на порно кодеком" эго ерунды авторитета.
Меня не волнует, что вы думаете о себе или мне.
Придерживайтесь технологии или STFU.

котировка
С 2009 года? ... Вы знаете, что блоки не доступны на всех, за исключением новых коллег, которые читают все из них прав? Они на самом деле не обращались любой менее доступны, чем блоки от 6 месяцев назад. (Они также в значительной степени полностью с LZ4 несжимаемыми, так как в отличие от современных блоков они не полны переработаны адреса).

Как почему? Поскольку уменьшение размера 10% не все, что интересно особенно за счет создания Fetching блоков для цветения фильтруется облегченными узлов гораздо более ресурсоемких, так как это уже вектор DOS.

Так что теперь вы собираетесь использовать новые сверстник как предлог, чтобы не сжать блоки?

Это так глупо.

Когда сжатие включено, и новый узел запрашивает старый блок.
Просто отправьте ему весь сжатый блок, как это и позволить ему обрабатывать.
Это будет реально сэкономить трафик и время загрузки.

Просто добавьте функцию сжатия и настройки.
Некоторый пользователь хотел бы сохранить 20G на их SSD путем изменения от 0 до 1, некоторые из них не будут.
Просто добавьте функцию и двигаться дальше, чем так сложно.
Сжатие стандартный материал, не спорю над глупым дерьмом.

котировка
Мм, звучит, как вы дезинформировали об этом тоже: Обрезка не делает абсолютно никаких изменений в области безопасности, конфиденциальности, или поведение вашего узла другой, чем вы больше не помогают новые узлы делают их первоначальной синхронизации / сканирования. Вне этих узких вещей обрезки узел полностью неразличим. И вместо того, чтобы только уменьшение хранения 10%, это уменьшает его 99%.

Кто говорит о безопасности или конфиденциальности.
Для того, чтобы предложить обрезку над простым сжатием было достаточно глупо.
Одну минуту вы идете все "Мой опыт хорошо известен"
В следующую минуту вы говорите полный бред.
Это как любительский час.

котировка
LZ4 прекрасно материал, но это не правильный инструмент для Bitcoin практически все данные в Bitcoin являются криптографическими хэш, которые являются полностью сжатыми. Поэтому простое изменение более эффективной сериализации может получить сокращение более 28% в то время как ваш LZ4 получает только 10%. не касается другого things-- нет, мы не будем: блок данных не как обычные документы и традиционные компрессоры не делают очень много с ним.

(И как в сторону, каждый один из пунктов в списке исключительно медленно. Лол, например, я считаю, что верхний элемент в нем принимает это около 12 часов, чтобы распаковать его файл 15Мб enwiki8. Хех способ показать свои навыки ниндзя рекомендательные )

Если вы хотите работать на сжатие, я могу указать вам на уплотненной сериализации спецификации, которая получает около 30% ... но если вы думаете, что вы собираетесь использовать один из PAQ / частей на миллион компрессоров ... хорошо, надеюсь, что у вас есть быстрый компьютер.

Смотрите, вот в нижней строке.
Сжатие является общей чертой используется повсеместно в течение многих десятилетий.
Это не какой-то новый высокотехнологичный секрет, почему так много говорят ерунду делает звук настолько сложным.

Дело в том, что вы уже несколько лет поздно.
10%, 20%, 30%, LZ4, не LZ4, который дает дерьмо, в конце концов, это пространство / время компромиссом.
Если вы не можете решить, какие настройки использовать, только предлагают 3 настройки, низкий / средний / высокий.
Если вы не можете решить, какой алгоритм использовать, позволяют пользователю выбрать 1 из 3 алгоритмов, предоставляют пользователям выбор.
Сжатие просто, ЛИЭС и примеры есть везде, просто понять это.
Прекратите давать глупые отговорки и перестать бормоча ненужную ерунду.

котировка
Можете ли вы показать нам нетривиальный патч вы сделали для любого другого проекта в любом месте?

Как они сказали, "Я мог бы сказать вам, но тогда мне придется тебя убить."
Слишком много хлопот.
Troll Buster сейчас офлайн Пожаловаться на троллей Buster   Ответить с цитированием Мультицитирование сообщения от Troll Buster Быстрый ответ на сообщение Troll Buster

7 июля 2017, 6:49:24 AM   # 16
 
 
Сообщения: 1400
Цитировать по имени
цитировать ответ
по умолчанию Re: Некоторые «технические комментарии» о коде ядра особ. использование аппаратного обеспечения

Существует пиар для этого, это было что-то вроде разницы в производительности на 5% для начальной синхронизации в то время; было бы несколько более теперь из-за другие оптимизации. Он используется в волоконно-кодовую без автоопределения. Пожалуйста, не стесняйтесь, чтобы закончить автоопределение для него.

Я бы сделал патчи давно, если весь проект не был уже прогнил насквозь.

Таким образом, здесь вы просто признать, что ты здесь только троллить?

Как они сказали, "Я мог бы сказать вам, но тогда мне придется тебя убить."
Слишком много хлопот.

Было это другое дело, что они сказали, что-то о говорить экономным. Затем был еще один я слышал однажды, что пошел что-то вроде "мириться или заткнись. Может быть, те, актуальны здесь.



На данный момент это довольно ясно, что Troll Buster просто здесь изрыгать желчь. Это действительно поразительно, как надутый он о своих навыках и badassery и тогда, когда кто-то просит, чтобы указать на проект, он работал или вообще, чтобы доказать свою беседу с чем-то большим, чем Google Search его ответ все «Эй, посмотри там !»

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

7 июля 2017, 7:29:17 AM   # 17
 
 
Сообщений: 42
Цитировать по имени
цитировать ответ
по умолчанию Re: Некоторые «технические комментарии» о коде ядра особ. использование аппаратного обеспечения

но я думаю, что мы можем пойти дальше и признать, что Troll Buster не будет способствовать ничего больше, чем ударяться в груди.

Дерьмо, ты имеешь в виду, я мог закончить так же, как вы?
Troll Buster сейчас офлайн Пожаловаться на троллей Buster   Ответить с цитированием Мультицитирование сообщения от Troll Buster Быстрый ответ на сообщение Troll Buster

7 июля 2017, 8:49:14 AM   # 18
 
 
Сообщения: 6
Цитировать по имени
цитировать ответ
по умолчанию Re: Некоторые «технические комментарии» о коде ядра особ. использование аппаратного обеспечения

На данный момент это довольно ясно, что Troll Buster просто здесь изрыгать желчь. Это действительно поразительно, как надутый он о своих навыках и badassery и тогда, когда кто-то просит, чтобы указать на проект, он работал или вообще, чтобы доказать свою беседу с чем-то большим, чем Google Search его ответ все «Эй, посмотри там !»

Troll Бастер указывая плохие решения, которые могут быть улучшены и здесь люди пытаются найти что-то их, чтобы иметь возможность колотить. Это типичные тактики Core, в результате чего они не могут решить проблему быть выделен и вместо того, чтобы попытаться начать персоны нападения на человека, делая шаг вперед.

Именно поэтому Bitcoin развитие раздроблено под пятой атак столбцов, вытесненные из лучших и самых ярких, оставляя нас с выгребной ямой мы имеем сегодня.

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

7 июля 2017, 9:04:29 AM   # 19
 
 
Сообщения: 644
Цитировать по имени
цитировать ответ
по умолчанию Re: Некоторые «технические комментарии» о коде ядра особ. использование аппаратного обеспечения

На данный момент это довольно ясно, что Troll Buster просто здесь изрыгать желчь. Это действительно поразительно, как надутый он о своих навыках и badassery и тогда, когда кто-то просит, чтобы указать на проект, он работал или вообще, чтобы доказать свою беседу с чем-то большим, чем Google Search его ответ все «Эй, посмотри там !»

Troll Бастер указывая плохие решения, которые могут быть улучшены и здесь люди пытаются найти что-то их, чтобы иметь возможность колотить. Это типичные тактики Core, в результате чего они не могут решить проблему быть выделен и вместо того, чтобы попытаться начать персоны нападения на человека, делая шаг вперед.

Именно поэтому Bitcoin развитие раздроблено под пятой атак столбцов, вытесненные из лучших и самых ярких, оставляя нас с выгребной ямой мы имеем сегодня.

Давай, запустить некоторые BIP148 хэширования власти. Я дважды смею.

котировка
Какова польза от Bitcoin ядра?

Bitcoin Ядро будет сигнализировать поддержку и распознавать SegWit включены блоки, среди других дополнений. В зависимости от вашей позиции в максимальном выпуске размера блока, вы могли бы рассмотреть возможность использования одного из других многочисленных клиентов, такие как Bitcoin https://www.bitcoinunlimited.info/ который поддерживает большие максимальные размеры блоков в качестве решения для полных блоков, которые мы в настоящее время испытываем.

Гоша Roger Ver / поддельный Satoshi Craig Wright вы раскошелитесь на довольно старую учетную запись.
испугался?
Последний из V8s сейчас офлайн Пожаловаться на Продлитесь V8s   Ответить с цитированием Мультицитирование сообщения от Последнего из V8s Быстрый ответ на сообщение Последний из V8s

7 июля 2017, 2:04:09 PM   # 20
 
 
Сообщений: 21
Цитировать по имени
цитировать ответ
по умолчанию Re: Некоторые «технические комментарии» о коде ядра особ. использование аппаратного обеспечения

Troll Buster: ваше первое имя подходит вам, мистер Buster.
bcsaver1 сейчас офлайн Пожаловаться на bcsaver1   Ответить с цитированием Мультицитирование сообщения от bcsaver1 Быстрый ответ на сообщение bcsaver1



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

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

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

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW