• Как правильно понять, клетка в шахматах 1 бит или 13 бит?

    @Fleuz
    Можно хранить биты пустот на поле это 4 байта и коды фигур в порядке полей это 16 байт. итого 20 байт в общем.
  • Как сохранять состояние пользователя телеграм бота?

    @Fleuz
    что ненормального в sqlite? Для такой задачи как раз и нужна sqlite.
    Единожды открыть файл и читать с задержкой почти равной латентности диска гораздо лучше, чем подключить Postgres и сначала сформировать пакет, потом подождать пока операционка сматчит буферы дальше распарсить его на стороне СУБД, потом сделать все тоже самое что делает sqlite и еще ждать отправки в другую сторону.
    И это мы говорим о том что postgress находится на одном хосте с ботом.
    Если говорить что-то о скорости, то у sqlite есть no-sync режим когда у тебя после первого чтения данные хранятся в оперативе, и синхронизируются с файлом только по команде.
    Для учебного проекта идеально ибо оперативы на всех точно хватит, скорости сколько хочешь, и если что-то пойдет не так - это лишь учебный проект. Ты все равно не переживаешь за потерянные данные.
    Но есть варик еще проще.
    Просто хранить текстовики или json-файлы в определенной папочке с названиями равными tg_id юзеров и со всей необходимой инфой на каждого внутри. Тогда даже все еще без доп либ обойтись получится. А по скорости будет почти как sql без no-sync режима, но это можно компенсировать храня во время основной работы данные в хэшмапе и выгружая в файлы по необходимости
  • SSD вместо RAM?

    @Fleuz
    Пропускная способность оперативки около 20ГБ/с
    Современные NVME SSD работают на шине PCIe 3.0 x4 пропускная способность которого менее 4ГБ/с
    А скорость чтения в крайнем случае 3ГБ/с

    В таком случае теоретически вам потребуется 8 SSD NVME что бы получить аналогичную пропускную способность
    Но все разбивается о реалии нашего жестокого мира, когда речь заходит о латентности

    Латентность доступа на чтение SSD весьма далека от латентности RAM в пару десятков нс.
    Латентность записи - пока есть свободные страницы для записи ещё ничего, а вот если свободных страниц нет - то привет. Латентность растёт крайне существенно.


    На самом деле даже самые современные NVME SSD могут в теории показать латентность на уровне в 10 микросекунд, что в тысячи раз больше чем у оперативной памяти.
    Как результат такой компьютер будет нереально тупить

    На самом деле недавно вышло решение Intel Optane DC Persistent Memory
    По сути SSD в формате оперативной памяти, но у них все равно скорость в разы ниже чем у оперативной памяти, потому этих модулей не может быть больше половины от общего числа планок на каждом канале