https://docs.google.com/presentation/d/1B3n6iioXYzYZ7WP9yq7l2_eyHOTsr6jUSOU2nfgGPMY/edit#slide=id.g59eaa0c0cb_4_452
https://docs.google.com/presentation/d/1nQxbBkHYOAXAcodVk-14th5nXhIYaOaa0cK7UG1bgxk/edit#slide=id.g59eaa0c0cb_4_452
https://docs.google.com/presentation/d/16n62-XZ1kpF-lkb2j-jRVnaYeYWZf5EyVy4eBcs0ANc/edit#slide=id.g63261c2bb8_1_184
про Serde в #rust
для себя нашел
https://docs.google.com/presentation/d/1nQxbBkHYOAXAcodVk-14th5nXhIYaOaa0cK7UG1bgxk/edit#slide=id.g59eaa0c0cb_4_452
https://docs.google.com/presentation/d/16n62-XZ1kpF-lkb2j-jRVnaYeYWZf5EyVy4eBcs0ANc/edit#slide=id.g63261c2bb8_1_184
про Serde в #rust
для себя нашел
tag гибко очень можно настроить как enum будет сериализоваться. даже типизированные данные можно сразу сгружать в отдельный проперти одной строчкой. пойду везде поменяю =)Google Docs
2019-05-09 Unpacking Serde (1/3) by Erich Gubler
Unpacking Serde #1 The Serde model and structs
https://www.youtube.com/watch?v=rAl-9HwD858
https://www.youtube.com/watch?v=q6paRBbLgNw
плэйлист по #rust про
https://www.youtube.com/watch?v=q6paRBbLgNw
плэйлист по #rust про
lifetimes annotation and declarative macros смотрел и другие видео от автора. хорошо доступно рассказываетYouTube
Crust of Rust: Lifetime Annotations
In the 2019 Rust Survey, a lot of people were asking for video content covering intermediate Rust content. So in this first video (possibly of many), we're going to investigate a case where you need multiple explicit lifetime annotations. We explore why they…
https://github.com/RazrFalcon/cargo-bloat
случайно нашел анализатор того что попадает в бинарник #rust
https://github.com/johnthagen/min-sized-rust а тут немного про все плюшки оптимизации под размер бинарника
случайно нашел анализатор того что попадает в бинарник #rust
https://github.com/johnthagen/min-sized-rust а тут немного про все плюшки оптимизации под размер бинарника
GitHub
GitHub - RazrFalcon/cargo-bloat: Find out what takes most of the space in your executable.
Find out what takes most of the space in your executable. - RazrFalcon/cargo-bloat
https://mike42.me/blog/2018-06-make-better-cli-progress-bars-with-unicode-block-characters мелочь но не забыть бы. символы для прогрессбара
#terminal , #console , #color
#terminal , #console , #color
Mike's Software Blog
Make better CLI progress bars with Unicode block characters
As a programmer, you might add a progress bar so that the user has feedback while they wait for a slow task.
If you are writing a console (CLI) application, then you need to make your progress bars from text. A good command-line progress bar should update…
If you are writing a console (CLI) application, then you need to make your progress bars from text. A good command-line progress bar should update…
https://gist.github.com/amatellanes/a986f6babb9cf8556e36 так пусть просто полежит. список команд и методов celery #python
Gist
Celery handy commands
Celery handy commands. GitHub Gist: instantly share code, notes, and snippets.
Forwarded from 0x1337
Табличка с замерами Latency / Throughput, которой ну очень удобно пользоваться. Кстати, информация куда более полная чем у Агнера Фога:
https://uops.info/table.html
#optimization #asm
https://uops.info/table.html
#optimization #asm
Forwarded from 0x1337
Ребята, как я и обещал - радую годным, авторским контентом. Увы, скидывать целиковые статьи, а точнее читать их тут - дело не из простых. Поэтому, сами статьи публикую 'где-то', а сюда скидываю ссылку. Так вот, авторский контент подъехал:
https://habr.com/ru/post/468581/
#publication #asm #cxx #optimization
https://habr.com/ru/post/468581/
#publication #asm #cxx #optimization
Хабр
Делись, рыбка, быстро и нацело
Деление — одна из самых дорогих операций в современных процессорах. За доказательством далеко ходить не нужно: Agner Fog[ 1 ] вещает, что на процессорах Intel / AMD мы легко можем получить Latency в...
Forwarded from 0x1337
Данные в процессор загружаются из памяти. Дело это не быстрое:
https://www.7-cpu.com/
Вот тут^ выбери модель интересующего тебя процессора и посмотри, какова цена работы процессора с 'Голой' памятью. На Haswell, например, 90 clock cycles.
#measurments #ram #processor #link
https://www.7-cpu.com/
Вот тут^ выбери модель интересующего тебя процессора и посмотри, какова цена работы процессора с 'Голой' памятью. На Haswell, например, 90 clock cycles.
#measurments #ram #processor #link
Forwarded from 0x1337
Продолжая рассуждения на тему обмена данных между Процессором и Памятью:
Есть Out Of Order Execution процессор, есть кусочек кода который подгружает данные из Памяти в Кеш Процессора и как-либо обрабатывает их после, и есть код который отрабатывает ДО места где эти данные загружаются / используются.
Из поста выше мы знаем, что обмен данными между Памятью и Процессором - долог: если на момент пользования обмениваемыми данными, в Кеше Процессора их нету - работа встанет. Процессор, конечно, не дурак и просматривая Фреймы наперед, начнет загрузку данных в Кеш еще до того как они реально понадобятся, параллельно выполняя команды идущие ДО. То есть я к чему: нужно писать код так, чтобы до Работы с Памятью можно было сделать какую-либо полезную Память-Независимую работу, на фоне выполнения которой и будет происходить опережающая выгрузка данных из Памяти.
#memory #cache #prefetching
Есть Out Of Order Execution процессор, есть кусочек кода который подгружает данные из Памяти в Кеш Процессора и как-либо обрабатывает их после, и есть код который отрабатывает ДО места где эти данные загружаются / используются.
Из поста выше мы знаем, что обмен данными между Памятью и Процессором - долог: если на момент пользования обмениваемыми данными, в Кеше Процессора их нету - работа встанет. Процессор, конечно, не дурак и просматривая Фреймы наперед, начнет загрузку данных в Кеш еще до того как они реально понадобятся, параллельно выполняя команды идущие ДО. То есть я к чему: нужно писать код так, чтобы до Работы с Памятью можно было сделать какую-либо полезную Память-Независимую работу, на фоне выполнения которой и будет происходить опережающая выгрузка данных из Памяти.
#memory #cache #prefetching
Forwarded from 0x1337
Привет! Джем и Горячий чай уже ждут тебя:
https://habr.com/ru/post/470674/
Контент авторский, тут все по плану. Ну а утро бывает не только добрым, но и теплым, да.
#link #publication #cxx #allocator #data_structure #interesting
https://habr.com/ru/post/470674/
Контент авторский, тут все по плану. Ну а утро бывает не только добрым, но и теплым, да.
#link #publication #cxx #allocator #data_structure #interesting
Хабр
Inside The JeMalloc. Базовые Структуры Данных: Pairing Heap & Bitmap Tree
Тема Аллокаторов частенько всплывает на просторах интернета: действительно, аллокатор — эдакий краеугольный камень, сердце любого приложения. В этой серии постов я хочу в подробностях рассказать о...
https://www.youtube.com/watch?v=51lqHKVDoBE модули пельтье в охлаждении #pc фактически это реактивный буст охлаждения. как будто проц работает в комнате с -40 по цельсию
YouTube
Охлаждение на Пельтье. Часть 2. Увеличил эффективность в 2.1 раза
Кулеры для ПК - https://www.e-katalog.ru/u/nVGzj/a
Комплектующие - https://www.e-katalog.ru/u/qUrgE/a
В видео я рассказываю как сделать, возможно, самое лучшее охлаждение которое может поместиться в обычный компьютерный корпус на основе элементов Пельтье…
Комплектующие - https://www.e-katalog.ru/u/qUrgE/a
В видео я рассказываю как сделать, возможно, самое лучшее охлаждение которое может поместиться в обычный компьютерный корпус на основе элементов Пельтье…
Make LLVM fast again
https://nikic.github.io/2020/05/10/Make-LLVM-fast-again.html.html ускорение #llvm, просто отлично, что оно двигается в направлении ускорения компиляции
https://nikic.github.io/2020/05/10/Make-LLVM-fast-again.html.html ускорение #llvm, просто отлично, что оно двигается в направлении ускорения компиляции
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://blog.reverberate.org/2020/05/12/optimizing-date-algorithms.html про оптимизации превращения даты в юникс эпоху, магические числа, #fortran #c с бенчмарками
blog.reverberate.org
Optimizing UTC → Unix Time Conversion For Size And Speed
Parsing, performance, and low-level programming.
https://blog.reverberate.org/2009/01/llvm-bitcode-vs-protocol-buffers.html прям по свежему. недавно копал разного вида бенчмарки мгновенной десериализации данных, и тут старая статья про биткод #llvm и #protobuf... если коротко то бикод выиграл по месту... по остальным показателям протобаф ообошел. НО в моих бенчах на #rust имплементация протобафов получилась чуть ли не самая тормозная и в результате выбрал малоизвестную либу
speedy которая работает так же как bincode но оптимизирована по скорости загрузки в память сразу в нужном виде (что критично важно)blog.reverberate.org
LLVM Bitcode vs. Protocol Buffers
Parsing, performance, and low-level programming.
https://habr.com/ru/post/460295/ ансэйф в #rust. Если коротко то компилятор гарантирует отсутствие сигфолдов, но иногда надо манипулировать указателями и там нужен ансэйф
Хабр
Что значит unsafe в Rust?
Привет, Хабр! Представляю вашему вниманию перевод статьи "What Is Rust's unsafe?" автора Nora Codes. Мне доводилось видеть много недопониманий относительно того,...