🏎️ Сравнение производительности C++20
ComPPare — это инструмент для бенчмаркинга и валидации производительности различных реализаций функций на C++20. Он позволяет сравнивать время выполнения и проверять результаты для разных платформ, таких как CPU, OpenMP и CUDA, что упрощает портирование функций.
🚀 Основные моменты:
- Заголовочный файл, легко интегрируется в проекты.
- Поддержка любых функций, работающих на хосте.
- Подробная информация о времени выполнения и накладных расходах.
- Встроенная проверка ошибок для распространенных типов данных.
📌 GitHub: https://github.com/funglf/ComPPare
#cpp
ComPPare — это инструмент для бенчмаркинга и валидации производительности различных реализаций функций на C++20. Он позволяет сравнивать время выполнения и проверять результаты для разных платформ, таких как CPU, OpenMP и CUDA, что упрощает портирование функций.
🚀 Основные моменты:
- Заголовочный файл, легко интегрируется в проекты.
- Поддержка любых функций, работающих на хосте.
- Подробная информация о времени выполнения и накладных расходах.
- Встроенная проверка ошибок для распространенных типов данных.
📌 GitHub: https://github.com/funglf/ComPPare
#cpp
GitHub
GitHub - funglf/ComPPare: Compare performance & correctness of reference vs. optimized functions (CPU, GPU, parallel). Written…
Compare performance & correctness of reference vs. optimized functions (CPU, GPU, parallel). Written in C++20. - funglf/ComPPare
🔥3👍1
Forwarded from C++ Academy
🚀 Полное руководство по
Этот репозиторий предлагает точную конфигурацию для работы с
🚀 Основные моменты:
- Необходима установка
- Поддержка CMake 4.1+ для экспериментального импорта
- Точный UUID для включения модуля
- Полная поддержка C++23 обязательна
- Примеры проектов для быстрой настройки
📌 GitHub: https://github.com/JRASoftware/cpp23-import-std-guide
#cpp
import std; в C++23Этот репозиторий предлагает точную конфигурацию для работы с
import std; в GCC 15.1 и CMake 4.1. Сэкономьте время, следуя проверенным настройкам и избегая распространенных ошибок.🚀 Основные моменты:
- Необходима установка
CXX_MODULE_STD 1 для всех целей- Поддержка CMake 4.1+ для экспериментального импорта
- Точный UUID для включения модуля
- Полная поддержка C++23 обязательна
- Примеры проектов для быстрой настройки
📌 GitHub: https://github.com/JRASoftware/cpp23-import-std-guide
#cpp
GitHub
GitHub - JRASoftware/cpp23-import-std-guide: Complete guide for C++23 import std; with GCC 15.1 and CMake 4.1. Includes the critical…
Complete guide for C++23 import std; with GCC 15.1 and CMake 4.1. Includes the critical CXX_MODULE_STD property that most guides miss. - JRASoftware/cpp23-import-std-guide
❤2
Потрясающий C++
Это огромная подборка библиотек, фреймворков и ресурсов для C++. Всё собрано в одном месте и сгруппировано по категориям.
Сохраняйте в избранное, чтобы держать под рукой!
#cpp
Это огромная подборка библиотек, фреймворков и ресурсов для C++. Всё собрано в одном месте и сгруппировано по категориям.
Сохраняйте в избранное, чтобы держать под рукой!
#cpp
👍6❤3
🚀 MPSC Lock-Free Queue in C++
Эта библиотека реализует очередь с множеством производителей и одним потребителем (MPSC) на основе кольцевого буфера. Она предназначена для изучения концепций неблокирующего программирования и оптимизации производительности, обеспечивая предсказуемое поведение памяти и отличную кэшируемость.
🚀 Основные моменты:
- Реализация неблокирующей очереди для многопоточных приложений.
- Использует кольцевой буфер для повышения производительности.
- Применяет атомарные операции для синхронизации.
- Подходит для высокопроизводительных систем без динамической аллокации.
📌 GitHub: https://github.com/bowtoyourlord/MPSCQueue
#cpp
Эта библиотека реализует очередь с множеством производителей и одним потребителем (MPSC) на основе кольцевого буфера. Она предназначена для изучения концепций неблокирующего программирования и оптимизации производительности, обеспечивая предсказуемое поведение памяти и отличную кэшируемость.
🚀 Основные моменты:
- Реализация неблокирующей очереди для многопоточных приложений.
- Использует кольцевой буфер для повышения производительности.
- Применяет атомарные операции для синхронизации.
- Подходит для высокопроизводительных систем без динамической аллокации.
📌 GitHub: https://github.com/bowtoyourlord/MPSCQueue
#cpp
GitHub
GitHub - bowtoyourlord/MPSCQueue: A simple, lock-free MPSC (Multiple Producer, Single Consumer) queue implemented in C++ for learning…
A simple, lock-free MPSC (Multiple Producer, Single Consumer) queue implemented in C++ for learning and experimentation purposes. Useful for everyone who is interested in low latency & extr...
❤2👍2
🚀 Умный билд-системы с HMake
HMake — это продвинутое программное обеспечение для сборки, ориентированное на C++. Оно предлагает уникальный подход к управлению зависимостями и поддерживает модули C++20 без предварительного сканирования. Система оптимизирована для высокой скорости сборки и низкого потребления памяти.
🚀Основные моменты:
- Поддержка C++20 модулей и заголовочных единиц.
- Эффективный алгоритм сборки с динамическими зависимостями.
- Высокая скорость сборки по сравнению с Ninja.
- Простая архитектура для расширяемости.
- Поддержка множества языков программирования в будущем.
📌 GitHub: https://github.com/HassanSajjad-302/HMake
#cpp
HMake — это продвинутое программное обеспечение для сборки, ориентированное на C++. Оно предлагает уникальный подход к управлению зависимостями и поддерживает модули C++20 без предварительного сканирования. Система оптимизирована для высокой скорости сборки и низкого потребления памяти.
🚀Основные моменты:
- Поддержка C++20 модулей и заголовочных единиц.
- Эффективный алгоритм сборки с динамическими зависимостями.
- Высокая скорость сборки по сравнению с Ninja.
- Простая архитектура для расширяемости.
- Поддержка множества языков программирования в будущем.
📌 GitHub: https://github.com/HassanSajjad-302/HMake
#cpp
GitHub
GitHub - HassanSajjad-302/HMake: C++ build system that uses C++ for build configuration.
C++ build system that uses C++ for build configuration. - HassanSajjad-302/HMake
❤3👍1
🖼️🔍 CV DebugMate C++: Визуализация OpenCV в VS Code
Расширение для Visual Studio Code, позволяющее удобно визуализировать структуры данных OpenCV во время отладки C++. Поддерживает отображение изображений
🚀Основные моменты:
- Визуализация изображений в различных форматах (градации серого, RGB)
- Поддержка 3D облаков точек с интерактивным управлением
- Автоматический сбор переменных для быстрого доступа
- Синхронизация состояния просмотра для групп переменных
- Экспорт изображений и данных в популярные форматы
📌 GitHub: https://github.com/dull-bird/cv_debug_mate_cpp
#cpp
Расширение для Visual Studio Code, позволяющее удобно визуализировать структуры данных OpenCV во время отладки C++. Поддерживает отображение изображений
cv::Mat и 3D облаков точек с возможностью синхронизации и экспорта.🚀Основные моменты:
- Визуализация изображений в различных форматах (градации серого, RGB)
- Поддержка 3D облаков точек с интерактивным управлением
- Автоматический сбор переменных для быстрого доступа
- Синхронизация состояния просмотра для групп переменных
- Экспорт изображений и данных в популярные форматы
📌 GitHub: https://github.com/dull-bird/cv_debug_mate_cpp
#cpp
❤4👍2
🛠️ Утилита вывода для C++ на Windows
WCout предлагает простой и последовательный способ форматирования текста и чисел в C++ с использованием единого синтаксиса. Он поддерживает вывод в буфер обмена, мемо и строки, а также использует стандартные Win32 API для работы в любых Windows IDE. Удобный синтаксис позволяет легко различать команды и пользовательские данные.
🚀 Основные моменты:
- Единый синтаксис
- Поддержка диалоговых функций с несколькими параметрами
- Нет необходимости в сторонних библиотеках
- Легко интегрируется в проекты через
- Полная документация с примерами доступна в PDF
📌 GitHub: https://github.com/pinardmichel14-sudo/WCoutSrc
#cpp
WCout предлагает простой и последовательный способ форматирования текста и чисел в C++ с использованием единого синтаксиса. Он поддерживает вывод в буфер обмена, мемо и строки, а также использует стандартные Win32 API для работы в любых Windows IDE. Удобный синтаксис позволяет легко различать команды и пользовательские данные.
🚀 Основные моменты:
- Единый синтаксис
<< / >> для форматирования и вывода- Поддержка диалоговых функций с несколькими параметрами
- Нет необходимости в сторонних библиотеках
- Легко интегрируется в проекты через
.cpp и .h файлы- Полная документация с примерами доступна в PDF
📌 GitHub: https://github.com/pinardmichel14-sudo/WCoutSrc
#cpp
❤6
🧩 Эффективная реализация строк в C++20
Этот репозиторий предлагает современный класс строк для C++, который минимизирует управление временем жизни и поддерживает различные кодировки. Он сочетает в себе семантику владения и представления, обеспечивая высокую производительность без лишних аллокаций.
🚀 Основные моменты:
- Поддержка SSO и COW для оптимизации памяти.
- Настраиваемый размер для малых строк.
- Совместимость с различными кодировками.
- Планы по добавлению поддержки Unicode.
- Оптимизирован для 64-битных платформ.
📌 GitHub: https://github.com/Mjz86/String
#cpp
Этот репозиторий предлагает современный класс строк для C++, который минимизирует управление временем жизни и поддерживает различные кодировки. Он сочетает в себе семантику владения и представления, обеспечивая высокую производительность без лишних аллокаций.
🚀 Основные моменты:
- Поддержка SSO и COW для оптимизации памяти.
- Настраиваемый размер для малых строк.
- Совместимость с различными кодировками.
- Планы по добавлению поддержки Unicode.
- Оптимизирован для 64-битных платформ.
📌 GitHub: https://github.com/Mjz86/String
#cpp
GitHub
GitHub - Mjz86/String: A C++20 string implementation , with constexpr friendly design, SSO optimized, COW optimized, unicode…
A C++20 string implementation , with constexpr friendly design, SSO optimized, COW optimized, unicode and encoding awareness, string viewer, and with custom allocators - Mjz86/String
❤4👍3
🚀 Высокопроизводительный парсер FastParseX
FastParseX — это мощный C++ парсер для CSV, логов и бинарных данных, оптимизированный для высокой пропускной способности и минимальных затрат. Идеально подходит для интеграции в ресурсоемкие пайплайны данных.
🚀 Основные моменты:
- Поддержка параллельного парсинга и многопоточности
- Модули для CSV, логов и бинарных данных
- Поддержка экспорта в Arrow и Parquet
- Высокая производительность до 8 ГБ/с для параллельного парсинга
- Встроенные инструменты профилирования и статистики
📌 GitHub: https://github.com/FastParseX-dev/FastParseX
#cpp
FastParseX — это мощный C++ парсер для CSV, логов и бинарных данных, оптимизированный для высокой пропускной способности и минимальных затрат. Идеально подходит для интеграции в ресурсоемкие пайплайны данных.
🚀 Основные моменты:
- Поддержка параллельного парсинга и многопоточности
- Модули для CSV, логов и бинарных данных
- Поддержка экспорта в Arrow и Parquet
- Высокая производительность до 8 ГБ/с для параллельного парсинга
- Встроенные инструменты профилирования и статистики
📌 GitHub: https://github.com/FastParseX-dev/FastParseX
#cpp
GitHub
GitHub - FastParseX-dev/FastParseX: High-performance C++ parser for CSV, logs, and binary data (mmap, parallel, Arrow/Parquet)
High-performance C++ parser for CSV, logs, and binary data (mmap, parallel, Arrow/Parquet) - FastParseX-dev/FastParseX
❤6
This media is not supported in your browser
VIEW IN TELEGRAM
🐦 Flappy Bird на Си: Вес APK < 100 Килобайт! 🚀
В сентябре 2024 года, увидев Flappy Bird на C# в дискорд-канале Raylib, я решил попробовать реализовать эту игру на Си для Android с весом APK менее 100 КБ. 🚀
Идея казалась безумной, но спортивный интерес взял верх. 💪
https://github.com/VadimBoev/FlappyBird
#cpp #programming
В сентябре 2024 года, увидев Flappy Bird на C# в дискорд-канале Raylib, я решил попробовать реализовать эту игру на Си для Android с весом APK менее 100 КБ. 🚀
Идея казалась безумной, но спортивный интерес взял верх. 💪
https://github.com/VadimBoev/FlappyBird
#cpp #programming
❤3👏3🔥2👍1
🧩 Коллекция пользовательских аллокаторов на C++
oo-alloc предлагает набор специализированных аллокаторов для C++, оптимизированных под разные сценарии использования. Каждый аллокатор имеет свои особенности, влияющие на производительность, такие как временные сложности и накладные расходы. Выбор правильного аллокатора может значительно улучшить эффективность работы с памятью.
🚀Основные моменты:
- Поддержка различных типов аллокаторов: Arena, Stack, Pool и др.
- Оптимизация под разные паттерны доступа и жизненные циклы объектов.
- Простота использования с минимальными накладными расходами.
📌 GitHub: https://github.com/nihiL7331/oo-alloc
#cpp
oo-alloc предлагает набор специализированных аллокаторов для C++, оптимизированных под разные сценарии использования. Каждый аллокатор имеет свои особенности, влияющие на производительность, такие как временные сложности и накладные расходы. Выбор правильного аллокатора может значительно улучшить эффективность работы с памятью.
🚀Основные моменты:
- Поддержка различных типов аллокаторов: Arena, Stack, Pool и др.
- Оптимизация под разные паттерны доступа и жизненные циклы объектов.
- Простота использования с минимальными накладными расходами.
📌 GitHub: https://github.com/nihiL7331/oo-alloc
#cpp
GitHub
GitHub - nihiL7331/oo-alloc: An object-oriented memory allocation library written in C++20.
An object-oriented memory allocation library written in C++20. - nihiL7331/oo-alloc
❤3👍1
📊 Минималистичная графовая база данных на C++17
TGDB — это простая графовая база данных, реализованная как статическая библиотека. Она поддерживает фиксированные узлы и индексные указатели, обеспечивая схему без схемы и работу с базовыми типами данных. База данных позволяет эффективно создавать и извлекать объекты с свойствами.
🚀Основные моменты:
- Унифицированный тип узла размером 56 байт.
- Поддержка встроенных типов: int, double, std::string.
- Двусторонние ссылки между узлами.
- Дисковая устойчивость через mmap.
- Быстрый локальный обход и глобальный поиск.
📌 GitHub: https://github.com/LincolnCox29/TrueGraphDataBase
#cpp
TGDB — это простая графовая база данных, реализованная как статическая библиотека. Она поддерживает фиксированные узлы и индексные указатели, обеспечивая схему без схемы и работу с базовыми типами данных. База данных позволяет эффективно создавать и извлекать объекты с свойствами.
🚀Основные моменты:
- Унифицированный тип узла размером 56 байт.
- Поддержка встроенных типов: int, double, std::string.
- Двусторонние ссылки между узлами.
- Дисковая устойчивость через mmap.
- Быстрый локальный обход и глобальный поиск.
📌 GitHub: https://github.com/LincolnCox29/TrueGraphDataBase
#cpp
🔥3❤2👍1