Вверх ↑
Этот топик читают: Гость
Разработчик
Ответов: 26073
Рейтинг: 2122
#151: 2010-10-05 17:49:19 ЛС | профиль | цитата
Alexbootch писал(а):
Не тестил еще

И хочется, и колется, и мамка не велит А серьезно -- не до него пока, там я другие баги сейчас отлавливаю. Обязательно проверю, как только время появится. Я и предыдущий-то проверил, потому, что отловился глобальный глюк в аппаратной части у разработчиков, приведший к катастрофическим последствиям, под шумиху я и протестил его
------------ Дoбавленo в 17.49:
Alexbootch, ты мне лучше расскажи, как побороть нерациональное использование памяти движком -- оно гребет, гребет в буфер, наращивая его, а при создании новой текущей базы не очищает его, а добавляет новый. Есть ли каки-либо действенные запросы pragma, которые позволяют от этого избавиться, без перекомпиляции движка
карма: 22

0
Ответов: 1891
Рейтинг: 110
#152: 2010-10-05 19:10:05 ЛС | профиль | цитата
nesco писал(а):
Alexbootch, ты мне лучше расскажи, как побороть нерациональное использование памяти движком -- оно гребет, гребет в буфер, наращивая его, а при создании новой текущей базы не очищает его, а добавляет новый. Есть ли каки-либо действенные запросы pragma, которые позволяют от этого избавиться, без перекомпиляции движка


nesco, а раньше такое было?
карма: 0
%time%
0
Разработчик
Ответов: 26073
Рейтинг: 2122
#153: 2010-10-05 19:28:09 ЛС | профиль | цитата
Alexbootch писал(а):
а раньше такое было?

Я тебя об этом уже спрашивал, эта фича идет уже давно. Прошлый раз ты мне рекомендовал PRAGMA default_cache_size, млоэффективный способ, надо сказать

карма: 22

0
Ответов: 1891
Рейтинг: 110
#154: 2010-10-05 19:54:14 ЛС | профиль | цитата
nesco, писал(а):
Я тебя об этом уже спрашивал, эта фича идет уже давно. Прошлый раз ты мне рекомендовал PRAGMA default_cache_size, млоэффективный способ, надо сказать


Ничего я такого не рекомендовал в отношении рациональное использование памяти движком. Это только на быстродействие зависит. А фича в версии 3.4.2 тоже есть?
------------ Дoбавленo в 19.54:
nesco, а при динамическом подключении библиотеки тоже самое?
карма: 0
%time%
0
Разработчик
Ответов: 26073
Рейтинг: 2122
#155: 2010-10-05 20:09:05 ЛС | профиль | цитата
Alexbootch писал(а):
Ничего я такого не рекомендовал

Лень искать, но если очень хочется, то я поищу
Alexbootch писал(а):
Это только на быстродействие зависит

Это ты сейчас говоришь, возможно, что раньше ты этого не знал
Alexbootch писал(а):
а при динамическом подключении библиотеки тоже самое?

При любом подключении и в любой версии. В принципе, она уменьшается, со временем, но не сильно

карма: 22

0
Ответов: 16884
Рейтинг: 1239
#156: 2010-10-05 20:14:27 ЛС | профиль | цитата
nesco писал(а):
действенные запросы
перед созданием новой, закрываешь старую ?
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26073
Рейтинг: 2122
#157: 2010-10-05 21:41:38 ЛС | профиль | цитата
Tad писал(а):
перед созданием новой, закрываешь старую ?

Сами компоненты закрывают старую при создании или открытии новой.
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#158: 2010-10-05 22:36:07 ЛС | профиль | цитата
nesco писал(а):
Сами компоненты закрывают старую

и сбрасывают кэш на диск и уничтожают блок управления и освобождают память ?
Или только уничтожают id ?
Посмотреть надо. Пока ничего сказать не могу.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26073
Рейтинг: 2122
#159: 2010-10-05 22:42:21 ЛС | профиль | цитата
Tad писал(а):
Посмотреть надо. Пока ничего сказать не могу

О! Серьезный подход. А ведь вопрос действительно интересный, и его неплохо бы решить
карма: 22

0
Ответов: 1891
Рейтинг: 110
#160: 2010-10-05 22:56:55 ЛС | профиль | цитата
nesco, а схему либо схемы можешь выложить для моделирования подобной ситуации? И еще я думаю, что ключ SQLITE_TEMP_STORE=3 лучше заменить на на SQLITE_TEMP_STORE=0, т.к. предложенных тобою ключ использует для хранения временных файлов исключительно память и командой pragma указанный ключ не изменить

карма: 0
%time%
0
Разработчик
Ответов: 26073
Рейтинг: 2122
#161: 2010-10-05 23:09:18 ЛС | профиль | цитата
Alexbootch писал(а):
а схему либо схемы можешь выложить для моделирования подобной ситуации?

Мы не сможем ее смоделировать, нужны аппаратные блоки, круглосуточная запись и несколько дней непрерывной работы для определения действующего результата.
Я дома такой режим записи смоделировать не могу.
В принципе, можно разбить 40000 событий на сутки и с таким интервалом писать в базу 10 текстовых полей по 10 символов в каждом, но ждать пару дней в непрерывном режиме, это -- что-то... Но там есть еще одна особенность -- в одно время может прийти очень много событий, что движок загонит все это в буфер, в другое, они приходят медленно, и движок может успеть записать одно до прихода другого, а вот такой режим, смоделировать довольно сложно.
Alexbootch писал(а):
предложенных тобою ключ использует для хранения временных файлов исключительно память

Хард больше подвержен старению и менее надежен, чем память, особенно, в интенсивном режиме записи
Alexbootch писал(а):
командой pragma указанный ключ не изменить

Да ладно -- PRAGMA temp_store
карма: 22

0
Гость
Ответов: 17029
Рейтинг: 0
#162: 2010-10-05 23:17:34 правка | ЛС | профиль | цитата


Редактировалось 7 раз(а), последний 2022-04-03 03:51:44
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#163: 2010-10-05 23:55:37 ЛС | профиль | цитата
nesco писал(а):
А ведь вопрос действительно интересный
nesco, в Delphi я пользуюсь вот этим testsqlite.rar и с такими проблемами не сталкивался. Покопайся тоже (если хош)
Более подробно здесь: http://subscribe.ru/archive/comp.soft.prog.delphifaq/200801/31131653.html/
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 1testsqlite.rar [178.8KB] [297]
Разработчик
Ответов: 26073
Рейтинг: 2122
#164: 2010-10-06 02:59:48 ЛС | профиль | цитата
shpd-178-64-140-132.volog писал(а):
Почитай тут

Согласен, недосмотрел
------------ Дoбавленo в 02.59:
Одно нашел и поправил, связанное с необходимостью обязательной очисткой самим буфера ошибок -- sqlite3_free(ErrorMsg)
карма: 22

0
Ответов: 1891
Рейтинг: 110
#165: 2010-10-06 09:07:32 ЛС | профиль | цитата
nesco писал(а):
Одно нашел и поправил, связанное с необходимостью обязательной очисткой самим буфера ошибок -- sqlite3_free(ErrorMsg)


В SqLite3Api.pas ?
карма: 0
%time%
0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)