Есть ли альтернатива использованию функции fstat()
, если вам просто нужен размер файла и дата создания?
Я знаю, что мы можем использовать ftell()
, чтобы получить размер файла, но я хочу также время и дату создания. Причина, по которой я не хочу использовать fstat()
, заключается в том, что требуется много времени, если список файлов длинный.Любая альтернатива fstat?
ответ
Если файл открыт, используйте fstat
, если у вас есть только имя файла и не нужно открывать файл, используйте stat
. Это так быстро, как только может. Независимо от того, какую функцию вы будете использовать, будет использоваться stat
или fstat
внутренне или, по крайней мере, их эквиваленты внутри ядра. Эти системные вызовы необходимо читать в метаданных из файловой системы, и если они не находятся в кеше, они перейдут на диск и потребуют времени. Об этом нет.
+1. Если fstat медленный, это может быть, если i-узел каталога слишком велик. Использование меньших записей в каталогах может ускорить чтение метаданных в i-узле. – TrueY
Большое спасибо за все комментарии. Я использовал fstat() для доступа к метаданным и получил время и дату создания. Я думал о том, чтобы получить только размер и время/дату создания вместо большой структуры, возвращаемой функцией fstat(). Из ответов я думаю, что нет других лучших альтернатив. – CatchMeIfYouTry
- 1. любая более быстрая альтернатива?
- 2. Самостоятельный объект - любая альтернатива
- 3. Любая альтернатива ограничениям?
- 4. Любая альтернатива @GrabConfig?
- 5. Любая бесплатная альтернатива Robohelp?
- 6. Любая альтернатива карте Mapcurl?
- 7. Любая альтернатива для пар?
- 8. Любая альтернатива движку Alternativa3D?
- 9. Любая альтернатива пиренейской колотушке?
- 10. Любая альтернатива PostSharp?
- 11. MyLocationOverlay устарел, любая альтернатива?
- 12. любая причина для вызова fsync перед вызовом fstat
- 13. Что такое OpenSAML? Любая альтернатива?
- 14. Mercurial ненадежные субрепозиции. Любая альтернатива?
- 15. Любая альтернатива шаблонам страниц ASP.NET?
- 16. Любая альтернатива для Apache Nutch?
- 17. c2dm не поддерживается, любая альтернатива?
- 18. Webpack DefinePlugin медленность. Любая альтернатива?
- 19. BackupManager - любая альтернатива «bmgr wipe»?
- 20. Любая другая альтернатива для require.js?
- 21. icu4j слишком большой, любая альтернатива?
- 22. Любая нулевая безопасная альтернатива ArrayList.addAll?
- 23. Любая альтернатива Обложке на Дженкинсе?
- 24. Ванильная альтернатива функции jQuery $ .data(): любая собственная альтернатива javascript?
- 25. Hibernate Search, Lucene или любая другая альтернатива?
- 26. Любая хорошая альтернатива для контроля проверки ASP.NET?
- 27. Любая альтернатива redirect_to в приложении rails api?
- 28. Какова продолжительность кэша HttpRuntime (любая простая альтернатива?)
- 29. Любая свободная альтернатива для Oracle SQL Developer
- 30. любая альтернатива переопределению метода «equals()» в java?
Какая ОС вы используете? –
'fstat' также дает вам размер, поэтому использование этой информации должно сократить количество операций. –
Для использования файла fstat требуется открытое файл. Если вы собираетесь открывать файлы в списке, fstat - хороший выбор. Если нет, используйте stat(). А также. Любой из этих вызовов работает так же быстро, как и для поиска метаданных файлов. Если все, что вы хотите, это метаданные файлов. –