Игорь Столяров писал(а): 29 Май 2025, 9:15
Ну если Вы можете отказать от Logout, то что мешает его разбить на блоки ?
А выигрыша, практически, и не получается. Слишком много слишком маленьких блоков. Основная проблема в том, что выигрыш с LogOut получается, на моём приложении, когда он больше (чем больше - тем лучше) 500Мб (а при 1Гб начинаются проблемы с менеджером). Сколько записей надо "отсекать", чтобы оставаться в этом диапазоне - непонятно, там хитрая структура файла (сам себе дерево со множеством связанных). Вот и получается, что для надёжности закладываю мало, и выигрыш, в общем случае, невелик. Проще положиться на скорость винта, потерять лишний час на процессе часов в пять, чем на пятом часу обнаружить, что зашкалил за гиг и всё зависло...
Файл это, примерно, миллион записей, каждая запись имеет от пяти до пятисот связанных. Всё это необходимо развернуть в линейный файл с парами "запись - связанная запись", дополнительно заполнив массу полей из справочных файлов и построив с пяток ключей. И это не самый сложный и не самый ресурсоёмкий из процессов
Это связано со скоростью построения деревьев в клиентском справочном приложении. Даже элементарное построение дерева из сгенерированного файла занимает несколько секунд, что напрягает пользователей. А если генерить из "исходного неразвёрнутого" файла, будет секунд пятнадцать (от этого пользователи недовольно взвоют)