Перейти к содержимому

Лидеры


Популярный контент

Показан контент с высокой репутацией 16.08.2021 во всех областях

  1. 3 балла
    Также можно использовать unmanaged диски - это позволит исключить почти что все временные затраты, связанные с задержками вызовов диска, поскольку почти все операции, кроме переноса головки на большое расстояние, выполняются на нем мгновенно
  2. 2 балла
    В далеком прошлом я начал делать хранилище вещей на ОС (пародия на АЕ2). Для этой задачи я хранил все данные в оперативной памяти. При увеличении размера хранилища у меня начало падать по нехватки памяти. Я решил выгружать все данные в различные файлики и так у меня родилась база данных (пародия на бд). Хранил каждый вид предмета в отдельном файлике, вроде все кул но тут идет большое но "открытие каждого файлика тратится 1 тик" и когда файликов много и тебе нужно найти какой-то определенный файл по какомуто филду то это будет длиться вечность. Для этого я перенял идею баз данных и создал индексы. Индексы у меня были самые примитивные, это тупо таблица ключ значение. Я начал добавлять индексы по всех полях по которых ищу. Все вроде работало и хранилище стало намного больше. И тут я долго ним пользовался, файликов поднакопилось и программа опять начала падать по нехватки ОЗУ. Индексы слишком большие и не влазят в память. А у меня в планах еще увеличивать хранилище. Так вот к чему я веду. У кого-то есть идеи как можно хранить индексы поярче в ОС? Меня там ограничивает что почти каждая команда требует 1 тик. Ничего не лезет в голову как решить эту проблему.
  3. 2 балла
    Это весь код? motd — это глобалка? Исходя из чего было установлено, что оно работает? И как оно в принципе работать может, когда в либе internet функции write подавно нету и не было никогда? Когда вместо ответа приходится задать кучу встречных вопросов, должно настораживать.
  4. 2 балла
    В качестве БД можно использовать один постоянно открытый файл или же ограниченное количество открытых файлов. Это позволит исключить затраты на открытие-закрытие файлов.
  5. 1 балл
    local soc = require("internet") soc:write("MOTD") motd = soc:read(100) Всё роботает. А если я еще раз запрошу MOTD то или ошибка или ничего.
  6. 1 балл
    Держа диск в руке, нажимаем правую кнопку мыши. В появившемся интерфейсе нужно выбрать режим "unmanaged". Теперь этот диск будет определяться не как filesystem, а как drive с соответствующим набором свойств и методов. Компонент drive позволяет посекторно читать с диска и писать на него примерно в 6-7 раз быстрее, нежели при работе с компонентом filesystem. А что мешает всё хранить в одном файле? К слову, использование режима unmanaged очень похоже на работу с единственным файлом. Также поверх unmanaged-диcка можно написать свою файловую систему, позволяющую держать нужное количество файлов постоянно открытыми.
  7. 1 балл
    Он не поможет. Ибо в 1 файлике хранить это все не смогу. А в многих файликах идет по 1 тику на открытие.
  8. 1 балл
    можна пример? Ато не доконца понимаю что это означает
  9. 1 балл
    Хотелось бы узнать ошибку.
  10. 0 баллов
    Реализуй btree индекс. https://db.grussell.org/imp.html https://www.codeproject.com/Articles/7410/Implementation-of-a-B-Tree-Database-Class
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...