https://habr.com/ru/post/492410/ просто ахренеть крутая статья про то как Яндекс намерял #rust и #cpp, не разобравшись как в прошлый раз мэйлру #rust и #golang
Объективно обсуждать относительные преимущества того или иного языка сложно, особенно если вам сильно нравится один язык и не нравится другой. Весьма часто новый апологет очередного "новоявленного языка-убийцы C++" делает громкие заявления, не разобравшись толком с C++, за что ожидаемо получает по рукам.
Хабр
C++ быстрее и безопаснее Rust, Yandex сделала замеры
Спойлер: C++ не быстрее и не медленнее и вообще смысл не в этом. Эта статья является продолжением славных традиций развенчания мифов крупных российских компаний о языке Rust. Предыдущая была...
https://habr.com/ru/post/216189/ UB (Undefined Behavior) неопределенное поведение. освежить подноготную #cpp
Хабр
Неопределенное поведение в C++
Достаточно сложной темой для программистов на С++ является undefined behavior. Даже опытные разработчики зачастую не могут четко сформулировать причины его возни...
https://alschwalm.com/blog/static/2017/03/07/exploring-dynamic-dispatch-in-rust/ еще про dynamic dispatch в #rust . небольшое сравнение с #cpp
Security Through Obscurity
Exploring Dynamic Dispatch in Rust
Let me preface this by saying that I am a novice in the world of rust (though I'm liking things so far!), so if I make technical...
https://habr.com/ru/post/138132/ #cpp #gcc
https://doc.rust-lang.org/rustc/profile-guided-optimization.html
PGO #rust
#llvm может в оптимизации по статистике профайлера. Profile Guided Optimization (PGO) получается почти как делает это JIT компилятор но в момент компиляции все зашивается и в рантайме уже ускорены какие то не самые оптимальные (вначале) вещи
в моем случае 16к строк #rust кода в базовом случае исолнилось 4.6сек (было 5.0сек). быстрей на почти 7% (pgo и lto оптимизации включены) видимо слишком оптимально пишу код, что компилятору и переставить нечего. смешенные чувства 🙈🤓 оптимизировались лишь места загрузки исходных данных с сериализацией для последующего юзания
https://doc.rust-lang.org/rustc/profile-guided-optimization.html
PGO #rust
#llvm может в оптимизации по статистике профайлера. Profile Guided Optimization (PGO) получается почти как делает это JIT компилятор но в момент компиляции все зашивается и в рантайме уже ускорены какие то не самые оптимальные (вначале) вещи
в моем случае 16к строк #rust кода в базовом случае исолнилось 4.6сек (было 5.0сек). быстрей на почти 7% (pgo и lto оптимизации включены) видимо слишком оптимально пишу код, что компилятору и переставить нечего. смешенные чувства 🙈🤓 оптимизировались лишь места загрузки исходных данных с сериализацией для последующего юзания
Хабр
GCC Profile-guided optimization
Profile-guided optimization (далее PGO) — техника оптимизации программы компилятором, нацеленная на увеличение производительности выполнения программы. В отличии от традиционных способов оптимизации...
https://joellaity.com/2020/01/25/linking.html статья про то как работает линковка в #cpp. впрочем в #rust и #swift тожесамое
Joel Laity
How linking works
I. Introduction
https://joellaity.com/2019/02/28/checkmate-undefined-behavior.html немного про Undefined Behavior в #cpp
Joel Laity
Checkmate, undefined behavior
Undefined behavior is the bane of C and C++ programmers. The compiler can choose to do whatever it wants if a program has undefined behavior. This is normally not a good thing, but I recently wrote some code with undefined behavior and amazingly the compiler…
https://docs.google.com/presentation/d/1VnisvNEUj0Q7JzHbvGqTOVM9zcLuHhBOwg4aaTx6cMQ/edit#slide=id.p причина почему #cpp это боль. название говорит за себя. нужен целый гайд что бы понять как оно работает. вообще не смешно
Google Docs
2020-05-07: The Complete Guide to `return x`
The Complete Guide to return x; I also do C++ training! arthur.j.odwyer@gmail.com Arthur O’Dwyer 2020-05-07
https://www.youtube.com/watch?v=j9tlJAqMV7U
просто афигенный доклад про корутины которые могут переключаться за наносекунду. много кода на #cpp
* переключение между потоками дорого
* префетч наше все
* negative overhead abstraction, again ??? =)
просто афигенный доклад про корутины которые могут переключаться за наносекунду. много кода на #cpp
* переключение между потоками дорого
* префетч наше все
* negative overhead abstraction, again ??? =)
YouTube
CppCon 2018: G. Nishanov “Nano-coroutines to the Rescue! (Using Coroutines TS, of Course)”
http://CppCon.org
“Memory Latency Troubles You? Nano-coroutines to the Rescue! (Using Coroutines TS, of Course)”
—
Presentation Slides, PDFs, Source Code and other presenter materials are available at: https://github.com/CppCon/CppCon2018
—
Are you doing…
“Memory Latency Troubles You? Nano-coroutines to the Rescue! (Using Coroutines TS, of Course)”
—
Presentation Slides, PDFs, Source Code and other presenter materials are available at: https://github.com/CppCon/CppCon2018
—
Are you doing…
http://lbrandy.com/blog/2013/02/c11s-six-dots/ оказывается в #cpp есть возможно сделать шесть точек подряд и это валидно
......https://www.youtube.com/watch?v=kPR8h4-qZdk отличный доклад про то какие штуки для скорости вкручены внутри обычного std::string #cpp
YouTube
CppCon 2016: Nicholas Ormrod “The strange details of std::string at Facebook"
http://CppCon.org
—
Presentation Slides, PDFs, Source Code and other presenter materials are available at: https://github.com/cppcon/cppcon2016
—
Standard strings are slowing you down. Strings are everywhere. Changing the performance of std::string has a…
—
Presentation Slides, PDFs, Source Code and other presenter materials are available at: https://github.com/cppcon/cppcon2016
—
Standard strings are slowing you down. Strings are everywhere. Changing the performance of std::string has a…
внезапно оказался в сфере RTOS и выбора под однокристальные встраиваемые системы. #Cpp #os
и в результате набрел на хороший сказ про
http://caxapa.ru/thumbs/729136/scmRTOS.ru.pdf
и в результате набрел на хороший сказ про
scmRTOS. базовые понятия и хороший ввод на русском языке с особенностей реалтаймовых операционок тутhttp://caxapa.ru/thumbs/729136/scmRTOS.ru.pdf
модель атомик памяти в #CPP (полностью такая же для #rust)
- Неделимый, но расслабленный (relaxed)
- Полный порядок (seq_cst)
- Синхронизация пары (Acquire/Release)
https://habr.com/ru/post/517918/
- Неделимый, но расслабленный (relaxed)
- Полный порядок (seq_cst)
- Синхронизация пары (Acquire/Release)
https://habr.com/ru/post/517918/
Хабр
std::atomic. Модель памяти C++ в примерах
Для написания эффективных и корректных многопоточных приложений очень важно знать какие существуют механизмы синхронизации памяти между потоками исполнения, какие гарантии предоставляют элементы...
Forwarded from Типичный программист
Одному программисту настолько не понравился ненатуральный звук автомобильных двигателей в играх, что он взял и создал точный эмулятор для движков автомобилей
По сути он создал физический движок, программу, которая производит точное компьютерное моделирование того, как взаимодействуют цилиндры, поршни, маховики, воздух и топливо. Физический движок также рассчитывает скорость распространения огня, количество энергии, выделяемое при сгорании воздушно-топливной смеси. И генерирует звук исходя из давления в виртуальной выхлопной трубе. И всё это с 80 000 FPS.
Более того, разработчик так заморочился, что по пути почти создал свой язык программирования для описания двигателей — число цилиндров, расположение элементов, передачи и т. д.
Исходный код открыт и доступен на гитхабе: https://github.com/ange-yaghi/engine-sim
А посмотреть за процессом создания и послушать звуки самых разных двигателей можно в 12-минутном оригинальном видео: https://youtu.be/RKT-sKtR970
#кек #cpp #opensource
По сути он создал физический движок, программу, которая производит точное компьютерное моделирование того, как взаимодействуют цилиндры, поршни, маховики, воздух и топливо. Физический движок также рассчитывает скорость распространения огня, количество энергии, выделяемое при сгорании воздушно-топливной смеси. И генерирует звук исходя из давления в виртуальной выхлопной трубе. И всё это с 80 000 FPS.
Более того, разработчик так заморочился, что по пути почти создал свой язык программирования для описания двигателей — число цилиндров, расположение элементов, передачи и т. д.
Исходный код открыт и доступен на гитхабе: https://github.com/ange-yaghi/engine-sim
А посмотреть за процессом создания и послушать звуки самых разных двигателей можно в 12-минутном оригинальном видео: https://youtu.be/RKT-sKtR970
#кек #cpp #opensource
Forwarded from GitHub Community
typesense – опенсорсный аналог elasticsearch и подобных search-движков, с годным колличеством функционала
Другими словами это быстрая поисковая система с более продуманной системой поиска
⤷ Ссылка на проект
GitHub | #Interesting #Cpp
Другими словами это быстрая поисковая система с более продуманной системой поиска
⤷ Ссылка на проект
GitHub | #Interesting #Cpp