Кажется, что у Вас должно быть две копии на Вашем сервере. Пустая копия, от которой можно продвинуть/вытянуть, который Ваш продвинул бы изменения, когда Вы сделаны, и затем Вы клонировали бы это в Вас веб-каталог и настроили бы cronjob для обновления получения по запросу мерзавца из веб-каталога каждый день или около этого.
Функция Аккермана обычно забавная, но не давайте ей очень большие входные данные, если вы хотите, чтобы он закончился в вашей жизни.
Эвристика для задач NP-Complete - интересный способ получить код, интенсивно использующий процессор. Вы можете закодировать "решение" :) для одной из Karps NP-Complete задач.
Вы можете попробовать tsort (Turbo Sort) с очень большим набором входных данных. Я понимаю, что это обычная операция.
This does a lot of addition:
int c = 0;
for (int n = 0; n < INT_MAX; n++)
for (int m = 0; m < INT_MAX; m++)
c++;
std::cout << c;
If you want to try parallelism, do lots of matrix math. The size of your matrix you can use will be limited by memory, but you can do as many iterations as you want.
This will stress the SIMD instructions that modern CPUs come with.
Finding prime numbers is considered quite time-consuming.
You have some really nice ones in project euler, those are all math related and can be time consuming as you want using higher values.
Take a look at the NAS Parallel Benchmarks. These were originally written by NASA in Fortran for supercomputers using MPI (and are still available that way), but there are also C, Java, and OpenMP implementations available now.
Most of these are very computationally intensive, as they're intended to be representative of numerical algorithms used in scientific computing.
Ознакомьтесь с тестами из обзора языков: http://shootout.alioth.debian.org/
Однако: тесты являются только тестами и не обязательно сообщают вам много о реальном мире и может, наоборот, вводить в заблуждение.
Я знаю, что вы сказали, что хотите создать свою собственную, но, возможно, вы могли бы использовать существующие тесты для вдохновения. В игре «Тестирование компьютерного языка» было проведено тестирование многих языков программирования с помощью набора тестов. Возможно, вам удастся почерпнуть некоторые идеи, глядя на их тесты.
Несколько быстрых идей, которые у меня в голове:
Умножение матрицы: умножение на 2 большие матрицы относительно вычислительно интенсивно, хотя вы необходимо будет учитывать кэширование
Генерация простых чисел
Целочисленная факторизация
Численные методы для решения ОДУ - Рунге-кутта например
Фракталы
(в различных разрешениях) Некоторые фрактальные источники на C (без opengl)
Попробуйте вычислить тысячи или миллионы пи цифр. Для этой задачи существует довольно много формул .