Маша С++
104 subscribers
54 photos
2 files
65 links
Учу C++ и не только вместе с вами, мои котятки)
Download Telegram
Интересная научная статья фокусируется именно на потреблении энергии (CPU + RAM) в дополнении к памяти и времени работы. Авторы сравнивают 27 популярных языков программирования, замеряя потребленные Джоули при решении 10 задач. Замер потребления энергии производится с помощью утилиты Intel’s Running Average Power Limit.

В финальной таблице (см пост ниже) по всем задачам можно например заметить как Java потребляет в 5 раз больше рамы, чем Си. По потреблению энергии и по времени работы в первой тройке C, Rust и C++. Примечательно, что Rust почти не отличается от C, а вот C++ отстает на 30-50%. В статье приводятся результаты для трех задач: binary-trees (выделение, обход и удаление множества двоичных деревьев), fannkuch-redux (индексируемый доступ к крохотным последовательностям интов) и fasta (генерация и запись случайных последовательностей ДНК). В первых двух задачах лидируют C/C++, в третьей же - Rust, при этом C++ в ней довольно заметно отстает. С чем это связано не понятно, возможно на плюсах медленнее вывод в файл или генератор случайных чисел. Ставить под сомнение сводные результаты 10 задач на основе данных по 3 я не буду.

Интересно, что Python уверенно занимает предпоследнюю строчку и в 70 раз "хуже" Си. Спасай природу, переписывай свой питон код на Си 😁

Полный текст статьи: https://haslab.github.io/SAFER/scp21.pdf

#cpp #rust #performance
🔥2
exa (цветастая замена для ls) кажется заброшена
https://github.com/ogham/exa

#github #opensource
"Не слишком специализируйтесь."

"Так что вы не можете просто писать код. Вам нужно что-то сделать с культурой и с тем, как выражать идеи. То есть я ни разу не пожалел о времени, потраченном на историю и математику. Математика обостряет ваш ум, история даёт некоторое представление о ваших ограничениях и о том, что происходит в мире. Так что не будьте слишком уверены. Найдите время, чтобы вести сбалансированную жизнь."

https://habr.com/ru/news/757164/
👍1
"did everybody expect that to happen?" спрашивает докладчик. Такого уж я точно не ожидала. Он сравнил ускорение (speedup на легенде) двух приложений: wait-free находит сумму через std::atomic, в то время как mutex находит ту же сумму, используя одноименную блокировку и обычные (неатомарные) переменные.
Внезапно оказалось, что wait-free масштабируется значительно хуже простого mutex.
Детали и более подробное устройство атомиков тут: https://www.youtube.com/watch?v=ZQFzMfHIxng
#cpp #multithreading
Сегодня 255 день в году, с праздником всех причастных!
Опенсорсная реализация пятой Цивилизации (с "картофельной" графикой). Доступно для Android (включая F-Droid) и для десктопа. Переведена на русский.

https://github.com/yairm210/Unciv

#github #opensorce
Прошла бесплатный быстрый тест (занимает всего 15 минут) на знание английского EF SET. Без регистрации и смс. Ссылка на тест внизу страницы https://www.efset.org/ru/cefr/

#english
Вот нельзя было в плюсах в контейнерах вместо empty() использовать isEmpty() ? Первое вполне себе глагол/действие...
#cpp
Пример простой, но при этом достаточно эффективной реализации многопоточного паттерна event loop. Да на хабре, да на английском. Используется std::function для задач, std::condition_variable.

https://habr.com/ru/articles/665730/

#cpp #multithreading #habr
👍1