Во-первых, вы должны знать, что при считывании (без обработки) со стандартного вращающегося жесткого диска файл объемом 100 ГБ должен занимать около 17 минут.
Во-вторых, о вашем коде - в тех местах, где это происходит, есть openmp.не имеет значения и не имеет операций (strcpy(_buf
один).Этот цикл для не требует так много процессора для его распараллеливания.Возможно, это всего лишь пример, но это имеет значение.
И, наконец, большая часть (например, 90%) ЦП потребляется в библиотеке ( kseq_read ) и gzopen (и кажется, что ваши файлы размером 100 ГБ сжаты).