Programming News and Articles
8 subscribers
5 photos
3 files
241 links
Download Telegram
Forwarded from ọzkriff
"The Rust Performance Book": https://nnethercote.github.io/perf-book
Forwarded from Generative Anton
#education

Cornell University выпустил на первый взгляд невероятно крутой курс, который сделан специально для самостоятельно онлайн прохождения. Курс CS 6120: Advanced Compilers как можно догадаться про дебри компиляторов и всё, что вокруг. Базируется на LLVM и самодельном IR слое. Есть и лекции, и книги и статьи. Всего 13 уроков.
Forwarded from Denis Otkydach
Если ты вдруг невнимательно следишь за чатиками, тут вот стендфордский курс по расту пробегал:
https://reberhardt.com/cs110l/spring-2020/
Forwarded from sudo rm -rf /*
Вот хороший годный TL;DR по трейсам сисколов с минимальным импактом на производительность, но это вам в счет нового года, договорились?
Forwarded from The After Times
Занимательная статья на Хабре (https://slurm.club/2KtNgD7) о том, почему Apache Kafka такая шустрая и популярная. Для тех, кто работает с технологией советуем ознакомиться с тем, что у кафки “под капотом”. Это многое объясняет. Например, можно почитать про батчинг записей, пакетное сжатие, буферизованные операции, zero-copy и другие фишечки.
Forwarded from Experimental chill
#рецензии
Ультракороткие рецензии на тoп инженерных находок 2020го года от @Danlark, которых не было в блоге. Часть 1.

1. Deterministic Aperture: A distributed, load balancing algorithm

Балансеры в компании Twitter красиво переплетают идеи consistent hashing, непрерывной геометрии и power of 2 choices, что помогает сократить количество соединений в 10 раз и снизить дисперсию распределения запросов на 78%.

2. BOLT: A Practical Binary Optimizer for Data Centers and Beyond

Компания Facebook оптимизирует и так уже PGO соптимизированные C++ бинари в реальном времени, собирая профили и ставя горячие блоки кода близко друг к другу. Из-за этого сайты Facebook и Instagram ускорились на 5-7%, а пропозал по добавлению такой функциональности был принят в LLVM.

3. ScaNN: Efficient Vector Similarity Search

Google выложил свой алгоритм поиска похожих векторов, который обыгрывает по скорости все предыдущие примерно в 2 раза, отличие от других алгоритмов только в том, что ScaNN правильно подобрал константы для квантования и хорошо применил SIMD. Но удачи собрать и запустить это на C++.

4. Elle: Inferring Isolation Anomalies from Experimental Observations

Господин Jepsen наконец-то завершает свои походы со стабильным фреймворком для проверки консистентности в базах данных. В статье сказано: "we believe Elle will make the database industry safer", может быть, он всё таки имел в виду "suffer"?

5. The Case for a Learned Sorting Algorithm

Самобучающийся алгоритм сортировки пытается с помощью real-time модели предсказать примерные позиции в отсортированном массиве, а потом уже легко пройтись и найти точные. Да, оно работает быстрее, чем std::sort вместе с обучением. Да, оно потенциально выкопает могилу теоретикам. Результат как минимум примечательный, но сравнений алгоритмов для однозначной победы и правда маловато.

To be continued...
Forwarded from Linker Unsafe
Энтузиаст начал переводить эту красоту на русский. Вообще, 3b1b иногда просто приятно смотреть из-за классных анимаций, даже не пытаясь вдумываться в содержание.

https://youtu.be/aCvnUuYaRH8
Forwarded from Так говорит Алиса (John Meow)
Начало цикла статей по процедурным макросам в Rust

#prog #rust #proc_macro #article
найден простейший способ заменить sudo-пароль на Touch ID

Причём его суть заключается в добавлении одной-единственной команды в файл утилиты sudo:

https://tprg.ru/beWD
#рецензии
Ультракороткие рецензии на тoп инженерных находок 2020го года от @Danlark, которых не было в блоге. Часть 1.

1. Deterministic Aperture: A distributed, load balancing algorithm

Балансеры в компании Twitter красиво переплетают идеи consistent hashing, непрерывной геометрии и power of 2 choices, что помогает сократить количество соединений в 10 раз и снизить дисперсию распределения запросов на 78%.

2. BOLT: A Practical Binary Optimizer for Data Centers and Beyond

Компания Facebook оптимизирует и так уже PGO соптимизированные C++ бинари в реальном времени, собирая профили и ставя горячие блоки кода близко друг к другу. Из-за этого сайты Facebook и Instagram ускорились на 5-7%, а пропозал по добавлению такой функциональности был принят в LLVM.

3. ScaNN: Efficient Vector Similarity Search

Google выложил свой алгоритм поиска похожих векторов, который обыгрывает по скорости все предыдущие примерно в 2 раза, отличие от других алгоритмов только в том, что ScaNN правильно подобрал константы для квантования и хорошо применил SIMD. Но удачи собрать и запустить это на C++.

4. Elle: Inferring Isolation Anomalies from Experimental Observations

Господин Jepsen наконец-то завершает свои походы со стабильным фреймворком для проверки консистентности в базах данных. В статье сказано: "we believe Elle will make the database industry safer", может быть, он всё таки имел в виду "suffer"?

5. The Case for a Learned Sorting Algorithm

Самобучающийся алгоритм сортировки пытается с помощью real-time модели предсказать примерные позиции в отсортированном массиве, а потом уже легко пройтись и найти точные. Да, оно работает быстрее, чем std::sort вместе с обучением. Да, оно потенциально выкопает могилу теоретикам. Результат как минимум примечательный, но сравнений алгоритмов для однозначной победы и правда маловато.

To be continued...
Для тех, кто работает с Golang, - смотрел как-то я эту книгу: "Hands-On Software Architecture with Golang. Design and architect highly scalable and robust applications using Go." by Jyotiswarup Raiturkar
Copyright © 2018 Packt Publishing

Она прекрасна. Удивительное сочетание полноты информации и её краткости. Это скорее конспект, а не книга. Курс молодого бойца. Никакой воды - только все самое нужное. Вряд-ли есть другой способ получить такой колоссальный объем знаний из одной книги. Она, поистине, шедевральна в этом смысле.

Дано практически все, что нужно знать разработчику, на примере Golang. Виды согласованностей, в т.ч. Causal Consistency, Векторные Часы, CAP-теорема, способы достижения консенсуса, в т.ч. RAFT, Paxos, 2PC, основы ООП, композиция vs наследование (кстати, на примере зверушек - известный пример), Design Patterns, основы работы с БД, индексы, формы нормализации, виды транзакций (ACID, BACE), матрица уровней изоляции транзакций, брокеры сообщений, принципы масштабирования и многое другое.

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

Раз уж речь зашла про Packt Publishing, то еще было бы уместно упомянуть "Learning Functional Programming in Go. Change the way you approach your applications using functional programming in Go." by Lex Sheehan
Copyright © 2017 Packt Publishing

И "Hands-On High Performance with Go. Boost and optimize the performance of your Golang applications at scale with resilience" by Bob Strecansky
Copyright © 2020 Packt Publishing

#Golang #SoftwareDesing #SoftwareArchitecture #FunctionalProgramming