Штраф за доступ к файлу QFileInfo

В соответствии с QFileInfo документация:

Некоторые из QFileInfo Функции запрашивают файловую систему, но по причинам производительности некоторые функции работают только с самим именем файла.

Тем не менее, я все еще не уверен, какие методы обращаются к самому файлу под капотом, а какие нет. Например:

for (int i = 0; i < 100000; ++i) {
    QFileInfo fi("path/to/my/file");
    qDebug() << fi.fileName();
}

Есть ли у этого кода штраф за следующее?

for (int i = 0; i < 100000; ++i) {
    QString fileName = QString("path/to/my/file").split('/').last();
    qDebug() << fileName;
}

Потому что я не уверен, какой QFileInfo методы (или даже конструктор) обращаются к самому файлу.

Конечно, я могу провести некоторое профилирование, и, вероятно, это будет преждевременная оптимизация с точки зрения скорости кода, однако я беспокоюсь о жестких дисках. Я знаю о QFileInfo кэширование, так что представьте, что я постараюсь получить имя файла для разных файлов.

0 ответов

Другие вопросы по тегам