
Впервые я побывал на «Дотнексте» летом этого года в Питере. Тогда меня привлекли имена Дино Эспозито и Саши Гольдштейна в списке докладчиков. По книге Дино я когда-то давно осваивал ASP.NET. Pro .NET Performance не читал, но отзывы слышал лишь позитивные. Никогда не считал performance своей сильной стороной, а необходимость сталкиваться по работе с оптимизацией производительности стала возникать довольно часто. Вдобавок, на тот момент у меня были смешанные чувства по отношению к .NET Core. Хотелось узнать, что думают другие по этому поводу. Решающим фактором, конечно же, стало желание девушки съездить в Питер на пару деньков. Мы поехали и не пожалели:)
С Москвой все было сложнее – этот город я недолюбливаю примерно так-же, как зиму в России. Чашу весов на этот раз сдвинули доклады C++ через C#, Моя жизнь с актерами, Squeezing the Hardware to Make Performance Juice и присутствие на конференции сотрудника Stack Overflow. Каждый из них был интересен в практическом плане, так что поездка предстояла не увеселительная, а рабочая.

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

Дальше я пошел в четвертый зал, потому что портирование плюсов на C# — задача для меня актуальная. Доклад Егора заставил по настоящему зауважать разработчиков Mono за то, какую не тривиальную работу они проделали, не смотря на то, что традиционно Mono принято ругать и хулить, потому что «там баги» и вообще «все криво» и не тот «level of quality», что в Microsoft. В докладе была затронута тема предотвращения утечек памяти при взаимодействии из C# с плюсовым кодом. Если слайды, начиная с 25го не вызывают у вас вопросов, вы знаете про внутреннее устройство .NET гораздо больше меня. В дискуссионной зоне удалось пообщаться про HoloLens.
Заказывать предварительную версию поиграться – жаба душит, а у Егора девайс есть. Я расспросил о деталях работы с «линзами». Не уверен, будет ли коммерческое применение устройству, кроме как в визуализации интерьеров. Очень бы хотелось, потому что игрушка прикольная.

Статистика Вагифа на слайде 83 далеко не в пользу C#. Хорошей новостью для меня стало, что persistent-actors вполне себя работают. Мы с момента беты не рисковали связываться. Уже за рамками доклада в дискуссионной обсудили перспективы akka streams. В России «Аккой» занимается не так много людей, поэтому обмен опытом был крайне полезным. Стоит отдельно отметить, что этот доклад был однозначно самым «творческим». Около трех минут заняло исполнение песни, посвященной акторной системе. По-моему свежо:)



Дальше – лучше. История о том, как Stack Overflow разрабатывала поиск по тегам – просто шедевр. Удалось осветить в одном докладе темы оптимизации БД, full text search, неожиданные детали GC, особенности параллелизации и работу с CUDA. И все это на реальном примере сайта, которым мы пользуемся чуть ли не ежедневно. Для меня – это, однозначно, лучший доклад на конференции. В слайдах есть ссылки. Информация доклада доступна в блоге Марка Гравелла. Всем, кому нужен поиск в больших БД – абсолютный must read.


Понравилась идея map/reduce-репликаций в реляционное хранилище. RavenDB 4 еще в альфе, конечно, и в продакшн использовать рано. Но, если все действительно так хорошо, как говорят разработчики, то RavenDB сейчас – одна из наиболее привлекательных БД для рефакторинга legacy .NET-систем на NoSQL-хранилище (там где это действительно нужно, конечно).
Резюме
Описывать стенды спонсоров и обед мне не интересно. Спонсоры – предлагали работать у них или рассказывали о своих продуктах. Обед был без очередей и задержек – все четко.
Так как поездка была рабочей, оцениваю я ее в ценности полученной информации. Не смотря на высокую стоимость участия, думаю, что ездить нужно. В первую очередь, потому что можно задать интересующие тебя вопросы и узнать про самое новое и передовое.
Кстати, в этот раз мне пришла в голову мысль: есть проблема, не с конференцией, а публикой, с сообществом. Некоторые доклады были на столько специфичными, что находилось всего несколько смельчаков с вопросами. У какого числа программистов в России есть доступ к самым новым процессорам и возможность проверить, побенчмаркать разные архитектуры? Вот тупит branch prediction в маленьких циклах на Haswell, а на Ivy Bridge – нет. Кто действительно полезет переписывать алгоритмы, чтобы вставить в них SIMD?
Если лет пять назад я считал, что нет широкого рынка таких задач, то сейчас ситуация меняется. Ежегодный взрывной рост частоты процессоров и наращивание ядер закончились, memory bandwidth никто не отменял, а значит, скоро придется снова оптимизировать алгоритмы и выжимать из железа максимум. А чтобы знать как оптимизировать, учиться нужно уже сейчас.