Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
При начальной инициализации данных, количество элементов массиве 10 миллионов
int nels = 10;
int campaigns = 1000000;
int *values = (int *) malloc(sizeof(int) * campaigns * nels);
Инициализируются, только первый миллион
for (int i = 0; i < campaigns; i++) {
values[i] = rand() % 256;
}
Можете пояснить ваш первый тест с массивом. Зачем там, два цикла и 10 миллионов операций умножения и сложения?
Почему не так, например
for(int i = 0, size = compaign * nels; i < size; ++i)
{
if(values[i] == references)
{
// если нужен индекс компании i / nels
// если нужен индекс ограничения i % nels
}
}
Оптимизация поиска при выборе кампании