- 1
- 2
- 3
- 4
- 5
if(object)
if(object->isSolid)
event.isCancelled = true;
;else //<
throw NullEventArgumentException("object == nullptr");
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+1
if(object)
if(object->isSolid)
event.isCancelled = true;
;else //<
throw NullEventArgumentException("object == nullptr");
Новый токен в C++ про который знает только 0.6% говнокодеров
Даже с дефолтным 4к блоком 100к файлов займут всего полгига. У тебя же явно не гиговый диск, чтобы на спичках экономить. Да и одна запись в пять минут - не хайлоад.
Тут главное, имхо, не валить все эти 100к файлов в один каталог. Раздели их по часам, по первым цифрам хеша или ещё как-то на более-менее мелкие подкаталоги. Иначе потом заебёшься удалять.
Я еще думаю отрубить журнал, но если виртуалку перегрузят некорректно, то я буду ждать пять минут следующей полной загрузки... ну или fsck
Журнал нет никакого смысла отрубать. Один сраный файл в 5 минут твоя файлуха даже не заметит. Ладно бы ты там каждую секунду что-то писал...
Запись может содержать от ноля до 50-ти где-то тыщ файлов. Просто старые удаляются.
То-есть так:
* Я залил 20К
* Через пять мин залил еще 20К
* Через пять мин залил 1 файл.
--- прошел час---
* Я удалил старые файлы
* Через пять мин залил еще 20К
* Через пять мин залил 1 файл.
итд
О_о
Да, сотня файлов в секунду уже намного серьёзнее выглядит... Может быть их мёржить как-то? Например сразу потоком в .tar.gz писать? Они же иммутабельные судя по всему.
>сотня файлов в секунду уже намного серьёзнее выглядит
Ну оно же не равномерно.
* залил 20к
* пять минут спокойствия
Т.е. ты потом какие-то из них удалишь, а какие-то останутся лежать дальше?
В общем, я бы на твоём месте попробовал промоделировать такую запись, посмотреть сколько она идёт, какая нагрузка на проц и диск и т.п. Покрутил бы под средней и пиковой нагрузкой пару дней. Без замеров сложно оптимизировать. Да и может оказаться, что оно вообще не тормозит и весь пердолинг уйдёт впустую (на ssd скорее всего так и есть).
постоянно подсовываются новые файлы, а старые удаляются.
Я больше думал не про тормоза, а про фрагментацию и лишнее место на диске, но ты прав: лучше промоделировать
* Сжимать файлы имеет смысл только если они больше 512 примерно байт (в моем случае), иначе размер может даже стать больше
* Все сосут у zstd.
* GZIP довольно медленно жмет, но разжимает шустро. И ratio меньше, чем у ZSTD
* XZ/LZ2A жмет вечность
* L4Z жмет шустро, разжимает мгновенно, но хуевый ratio
По соотношению скорость/ratio мой кумир теперь ZSTD