Насколько точен ruby ​​mtime и друзья? - PullRequest
0 голосов
/ 04 июня 2009

В ruby ​​насколько точен файл File.atime / File.ctime / File.mtime? Это с точностью до секунды на Unix и Windows?

Ответы [ 3 ]

3 голосов
/ 04 июня 2009

Это зависит от файловой системы.

FAT имеет точность 2 секунды. NTFS составляет 100 наносекунд. EXT3 составляет 1 секунду. Похоже, есть расширения, чтобы сделать эту 1 наносекунду.

2-секундная функция FAT может укусить вас, если вы выполняете резервное копирование на основе отметки времени между FAT и NTFS или EXT3.

0 голосов
/ 04 июня 2009

Я подозреваю, что большинство, если не все, языки "сценариев" используют базовые вызовы ОС для получения такого рода информации, и, если соответствует , то разрешение в 1 секунду - это то, что вам нужно получить под Linux и Windows (по крайней мере для NTFS - FAT32, если вы все еще используете его, имеет 2-секундное разрешение IIRC).

В идеале вы должны взглянуть на исходный код Ruby, чтобы подтвердить это (на самом деле, в идеале, это было бы задокументировано, но на это можно было бы надеяться), но вы могли бы запустить простой тест, в котором вы постоянно «касаетесь» файл (более одного раза в секунду) и отслеживать его mtime значения.

В отсутствие документированного утверждения вы должны либо полагаться на эмпирические данные, либо вообще ничего не полагаться.

0 голосов
/ 04 июня 2009

Предполагая, что вы имеете в виду точность (поскольку точность зависит от аппаратных часов и многих других факторов), документы , похоже, указывают на вторую точность.

РЕДАКТИРОВАТЬ: Вы правы. Время на самом деле имеет микросекундную точность (опять же, не точность).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...