Приложение, определяющее архитектуру процессора и загружающее оптимизированную библиотеку для максимальной производительности.
Данный проект представляет собой систему, которая:
- Определяет архитектуру процессора и поддерживаемые наборы инструкций.
- Загружает соответствующую динамически подключаемую библиотеку, оптимизированную для конкретной архитектуры.
- Выполняет основную логику приложения с использованием оптимальных инструкций процессора.
Это позволяет достичь максимальной производительности на различных архитектурах процессоров, без необходимости компиляции всего приложения под конкретную архитектуру.
- Rust 1.70 или выше
- Cargo
- Компилятор C/C++ (для сборки некоторых зависимостей)
- CMake (опционально, для некоторых зависимостей)
# Клонирование репозитория
git clone https://github.com/azemlya/cpu_optimized_app.git
cd cpu_optimized_app
# Сборка проекта
make build# Сборка всех библиотек
./scripts/build.sh --all
# Сборка только для определенной архитектуры
./scripts/build.sh --arch=x86_64 --features=avx2 --allocator=jemalloc# Запуск приложения
./target/release/cpu_optimized_app [аргументы]При запуске приложение автоматически определит архитектуру процессора и загрузит соответствующую библиотеку.
project/
├── Cargo.toml - Основной файл конфигурации проекта
├── Makefile - Файл для автоматизации сборки
├── Dockerfile - Файл для сборки в контейнере
├── README.md - Документация проекта
├── src/ - Исходный код основного приложения
├── core_lib/ - Исходный код оптимизированной библиотеки
├── dist/lib/ - Директория для скомпилированных библиотек
├── tests/ - Тесты проекта
└── scripts/ - Скрипты для сборки и тестирования
MIT