У меня масса данных, возможно, 4 МБ. Теперь хочу проверить, все ли в нем: 0.
Например: Вот данные:
void* data = malloc(4*1024*1024);
memset(data, 0, 4*1024*1024);
Убедитесь, что все биты в нем равны 0. Вот мое решение, которое недостаточно быстро:
int dataisnull(char* data, int length)
{
int i = 0;
while(i<length){
if (data[i]) return 0;
i++;
}
return 1;
}
У этого кода могут быть некоторые улучшения в производительности. Например, в машине 32/64 бит проверка 4/8 байтов за раз может быть быстрее.
Итак, мне интересно, что это самый быстрый способ сделать это?