Coder Social home page Coder Social logo

Comments (7)

xintrea avatar xintrea commented on June 14, 2024

Скорее всего это будет добавлено не скоро. И если добавлено, то включаться отдельной настройкой. Объясняю почему. В MyTetra сделано все так, чтобы изменения, записываемые на диск, были минимальными. Поэтому она и работает быстро. Если добавлять дату изменения, то при каждом изменении записи нужно будет прописывать в дереве в соответствующем месте дату изменения "листа". Я сейчас имею дерево в 5000 записей. И файл дерева перезаписывается при каждом изменении дерева, а перезапись (куда входит генерация XML и запись на диск) длится 200 миллисекунд. Я расчитываю на разумную емкость дерева где-то в 30000-50000 записей. Получается, что такое дерево будет перезаписываться на относительно современном компьютере 2 секунды. Вам удобно будет работать, если после каждого изменения текста прога будет лагать на 2 секунды? Мне нет, поэтому я на такую переделку не расчитываю.

Можно, конечно сделать сохранение в отдельном треде, но тогда нужно будет еще городить систему синхронизации с очередью, чтобы если пользователь быстро сохранил два раза изменения, более старые не записались поверх более новых. Это очень крупная переделка.

Но я понимаю, что время изменения - это важный параметр. Мне его сильно не хватает в тех же extX файловых системах в Linux, ибо там есть что угодно - даже дата последнего доступа, а вот даты последнего изменения почему-то нет. Поэтому такую штуку оставляю на дальнюю перспективу.

from mytetra_dev.

Shura0 avatar Shura0 commented on June 14, 2024

Спасибо за развёрнутый ответ

from mytetra_dev.

alexivanou avatar alexivanou commented on June 14, 2024

Позвольте 5 копеек в тему: http://www.zonepc.ru/novye-atributy-v-ext4/
mtime (modification time) — время последнего изменения файла, каталога atime — (access time) — время последнего доступа к файлу, каталогу ctime — (change time) — время последнего изменения атрибутов файла, каталога (данных из в inode-области)
crtime (create time) — время создания файла dtime (delete time) — время удаления файла
И раз пошла речь про файловую систему: http://ru.stackoverflow.com/questions/254497/%D0%9C%D0%B0%D0%BA%D1%81%D0%B8%D0%BC%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B5-%D0%BA%D0%BE%D0%BB%D0%B8%D1%87%D0%B5%D1%81%D1%82%D0%B2%D0%BE-%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2-%D0%B2-%D0%BF%D0%B0%D0%BF%D0%BA%D0%B5-linux-%D0%B8-windows
В FAT32 максимальное количество файлов на логическом диске 4,194,304. В NTFS максимальное количество файлов на логическом диске 4,294,967,295. В ext4 максимальное количество файлов на логическом диске до 4,294,967,295 (указывается при создании ФС).
Т.е. ситуация редкая, но бывает... заканчиваются в linux inodы для файлов, хотя места может быть еще очень достаточно. Это надо учитывать при создании веток. Возможно, есть смысл хранить базу не в папке, а в виртуальном подключаемом контейнере с заведомо известной файловой системой. Ато может так случиться, что кто-то запустит программу с домашней папкой на FAT16... вот удивительно будут папки называться )

from mytetra_dev.

xintrea avatar xintrea commented on June 14, 2024
mtime (modification time) — время последнего изменения файла, каталога 
atime — (access time) — время последнего доступа к файлу, каталогу 
ctime — (change time) — время последнего изменения атрибутов файла, каталога (данных из в inode-области)
crtime (create time) — время создания файла 
dtime (delete time) — время удаления файла

Жалко, что эти времена толком не посмотреть в ls:

$ ls -l --time=crtime
ls: invalid argument ‘crtime’ for ‘--time’
Valid arguments are:
  - ‘atime’, ‘access’, ‘use’
  - ‘ctime’, ‘status’

Где бы еще найти таблицу перекодировки ваших обозначений и обозначений ls.

from mytetra_dev.

xintrea avatar xintrea commented on June 14, 2024

И вообще, вы не путаете с Solaris? Обозначения crtime я вижу только в мане на ls у Соляриса.

http://www.opennet.ru/man.shtml?topic=ls&category=1&russian=4

from mytetra_dev.

alexivanou avatar alexivanou commented on June 14, 2024

ls действительно не умеет видеть эти атрибуты.
Вот ссылка на методику и описание: http://www.zonepc.ru/novye-atributy-v-ext4/

from mytetra_dev.

xintrea avatar xintrea commented on June 14, 2024

По итогу разговора:

Какую информацию о времени изменения файла можно получить в Linux на файловой системе extX

from mytetra_dev.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.