- PVSM.RU - https://www.pvsm.ru -
В июне к нам на конференцию DotNext [1] приедут две звезды .NET-программирования мирового уровня — Dino Esposito и Sasha Goldshtein.
Оба наших супергостя знамениты двумя вещами:
Про Дино я уже пару раз писал, и наверное напишу и в этот раз. А сегодня я расскажу вам про Сашу.
Саша Голдштейн — ведущий мировой эксперт по производительности .NET-платформы, восьмикратный [2] Microsoft MVP, автор прекрасной (и, наверное, единственной) серьезной книги по производительности .NET «Pro .NET Performance» (eng [3], rus [4]).
[5]
Саша — наша большая удача: он приезжал в Москву в декабре на московский DotNext по приглашению Андрея Акиньшина aka DreamWalker [6], нашего друга, тоже .NET MVP, члена программного комитета DotNext. Саша восхитил аудиторию, несмотря на то, что рассказывал по-английски. Саша живет в Израиле, прекрасно говорит по-русски, но, по его собственному признанию, рассказывать на технические темы у него гораздо лучше получается на английском языке. И в его случае — это не понты и не выпендреж. Как я понял из разговора с ним, он просто никогда не выступал до этого на технические темы по-русски :)
Меня его доклады очень впечатляют. Как человек, которого прет от изучения рантаймов, я обожаю вот этот его доклад о том, как компиляторы .NET работают с векторизацией (System.Numerics.Vectors [7]), используя SIMD [8]-инструкции:
Через месяц в Питере на DotNext Саша сделает два доклада.
PerfView — бесплатный компактный инструмент от команды CLR, который помогает в исследовании производительности .NET-приложений. Он предлагает несколько уникальных фич для глубокого изучения объемных Performance-данных. Этот инструмент можно использовать даже для анализа проблем с производительностью на ARM-устройствах.
В этом докладе мы будем использовать PerfView для периодического измерения и улучшения CPU time, wall-clock time и использования памяти (да, PerfView может помочь вам и с поиском утечек памяти!).
Словосочетание «Модель памяти» обычно вселяет в разработчиков ужас, вгоняет в сон или даже вводит в кому. Глубокое понимание запутанных связей между компилятором, процессором и подсистемой памяти необходимо, если вы собираетесь написать низкоуровневую синхронизацию, код без блокировок или отлаживаться, пытаясь найти гонку [9] в своем многопоточном коде. В этом докладе мы спустимся вниз в пропасть моделей памяти CLR и C++, ласково названной SC-DRF (см. у Шипилёва [10], начиная со слайда 32). Мы поговорим про volatile и atomic переменные, посмотрим на примеры реордеринга, которые делает компилятор и процессор, и увидим, как многопоточный код, который на первый (и даже второй) взгляд кажется корректным, в реальности нафиг разваливается на не-Intel-овских процессорах.
В реальности, это может дать вам по башке, если вы, например, пишите и тестируете код на Intel, а в продакшене живете в клауде и в какой-то момент решите переехать на ARM, PowerPC или еще что-то. В наше время — это все более часто случающаяся история. Ну или все прозаичнее: у вас есть многопоточный код для Windows RT или грядущий Win 10 for ARM. Тогда вам точно стоит в этом всем разобраться.
I'm super-happy to be back in St Petersburg for #dotnext [11] 2016 with two hard-core .NET talks! https://t.co/1PxXOrMHxY [12] @DotNextConf [13]
— Sasha Goldshtein (@goldshtn) 29 апреля 2016 г. [14]
Вот так вот хардкорно. Ну а с полным списком докладов конференции модно ознакомиться тут [15].
P.S: мы с Мишей Щербаковым aka yu5k3 [16], лидером SPb .NET Community [17], думаем позвать Сашу выступить на митапе днем раньше DotNext или днем позже. Так что следите не только за новостями DotNext, но и за новостями community тоже.
Автор: JUG.ru Group
Источник [18]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/c-2/119883
Ссылки в тексте:
[1] DotNext: http://dotnext.ru/spb/
[2] восьмикратный: https://mvp.microsoft.com/en-us/PublicProfile/4025213
[3] eng: http://www.amazon.com/Pro-NET-Performance-Optimize-Applications-ebook/dp/B009D7630W/ref=mt_kindle?_encoding=UTF8
[4] rus: http://www.ozon.ru/context/detail/id/23816449/
[5] Image: https://habrahabr.ru/post/282890/
[6] DreamWalker: https://habrahabr.ru/users/dreamwalker/
[7] System.Numerics.Vectors: https://www.nuget.org/packages/System.Numerics.Vectors
[8] SIMD: https://ru.wikipedia.org/wiki/SIMD
[9] гонку: https://ru.wikipedia.org/wiki/%D0%A1%D0%BE%D1%81%D1%82%D0%BE%D1%8F%D0%BD%D0%B8%D0%B5_%D0%B3%D0%BE%D0%BD%D0%BA%D0%B8
[10] у Шипилёва: http://shipilev.net/talks/narnia-2555-jmm-pragmatics-ru.pdf
[11] #dotnext: https://twitter.com/hashtag/dotnext?src=hash
[12] https://t.co/1PxXOrMHxY: https://t.co/1PxXOrMHxY
[13] @DotNextConf: https://twitter.com/DotNextConf
[14] 29 апреля 2016 г.: https://twitter.com/goldshtn/status/726029019767050240
[15] тут: http://dotnext.ru/spb/talks/
[16] yu5k3: https://habrahabr.ru/users/yu5k3/
[17] SPb .NET Community: https://vk.com/spbdotnet
[18] Источник: https://habrahabr.ru/post/282890/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best
Нажмите здесь для печати.