Рубрика «высокая производительность» - 76

Как я blakecoin майнер делал - 1

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

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

Как я blakecoin майнер делал - 2

Я тоже стал изучать, что же такое эти самые биткоины. Когда-то я даже начал свое собственное иследование алгоритма SHA256 и написал статью здесь на хабре "Можно ли вычислять биткоины быстрее, проще или легче?". Мои исследования алгоритмов хеширования до сих пор продолжаются и еще и близко не завершены… Может быть когда нибудь напишу про это отдельную статью. А сейчас пока вот это..Читать полностью »

Все мы имеем какие-то ожидания от конференций. Обычно мы идём на вполне конкретную группу докладов, вполне конкретной тематики. Набор тем отличается от платформы к платформе. Вот что сейчас интересует джавистов:

  • Производительность
  • Виртуальные машины и особенности рантаймов
  • JDK 9/10/...
  • Фреймворки
  • Архитектура
  • Enterprise
  • Большие данные и машинное обучение
  • Базы данных
  • JVM-языки (включая Kotlin)
  • DevOps
  • Разные мелкие темы

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

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

Масштабирование, кластеры и всё такое рассматривать тут не будем, достаточно сказать, что оно есть (Christopher Batey из Lightbend расскажет про Akka, Виктор Гамов из Confluent расскажет про Kafka, и так далее).

Производительность и рантаймы на конференции JPoint 2018 - 1Читать полностью »

Go 1.10 Release Party @ Badoo: как это было. Видео, фото, отзывы - 1

Привет!

24 февраля мы устроили Go 1.10 Release Party @ Badoo по случаю свежего релиза. Спасибо всем, кто был с нами! Если вы пропустили встречу сообщества, под катом — видео выступлений, слайды, немного отзывов и фотоотчет.
Читать полностью »

Легко ли выступать на конференции в первый раз? - 1

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

В этот же момент возникает одна из болезней роста: новые люди боятся подавать заявки. Не то чтобы совсем пропадают, но их оказывается меньше, чем хотелось бы. Многие, и совершенно напрасно, рассуждают в духе «не с моим рылом в калашный ряд». На примере прошедшего Highload++ давайте посмотрим, насколько тяжело приходится докладчику-новичку. Можно ли с первого раза выступить успешно?

Спойлер: можно. Что для этого нужно делать?
Читать полностью »

В первой части статьи мы провели сравнительный анализ средств нагрузки на Java для JMeter, ушли от XML тест-планов и достигли 30K RPS с одной машины, нагружая «не-HTTP» сервис на примере Apache Thrift.

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

Нагрузочное тестирование «не-HTTP». Ч.2 Gatling - 1

Читать полностью »

Первая часть — разбор самой холиварной задачи из четырёх:

    void forEach(List<Integer> values, PrintStream ps) {
        values.forEach(ps::println);
    }

    void forEach(List<Integer> values, PrintStream ps) {
        values.stream().forEach(ps::println);
    }

    void forEach(List<Integer> values, PrintStream ps) {
        values.parallelStream().forEach(ps::println);
    }

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

0. Лирика

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

Получается нам нужно

var myService = new MyService(A.Fake<ISevice1>(), new Sevice2(), 
               A.Fake<ISevice3>(), A.Fake<ISevice4>(), 
               A.Fake<ISevice5>(), A.Fake<ISevice6>())

заменить на нечто похожее. Напоминает паттерн builde, не так ли?

 var myService = GetInstance<MyService>().With(new Sevice2()).Subject;

Главное не переборщить с автоматизацией. Производительность тоже важна, особенно если в проекте несколько десятков тысяч тестов, которые будут запускаться как локально, так и в настроенном CI.

Разумеется нам не обойтись без рефлексии.
Читать полностью »

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

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

Ускорение сайта. Как понять, актуально ли это для вашего сайта - 1
Читать полностью »

Москва, 13 марта

Видеозаписи выступлений на “Moscow Apache Ignite #1”

При организации второго митапа мы учли ваши пожелания: места будет БОЛЬШЕ, и Алексей Гончарук выступит с докладом для архитекторов.

Программа:
19:00 — 19:30 — приветственный кофе, сбор гостей

1. «Что нового в Apache Ignite 2.4» — Артем Шитов, инженер GridGain.
2. «Масштабирование Apache Ignite кластера для архитекторов» — Алексей Гончарук, главный архитектор GridGain.
3. «Операционный кэш данных на базе Apache Ignite. Практика построения и использования решения для страховой компании» — Дмитрий Косицын, технический директор Unitarius.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js