crypt of decay - Post a comment [entries|archive|friends|userinfo]
ketmar

[ userinfo | ljr userinfo ]
[ archive | journal archive ]

SQLite is freakin' fast Oct. 22nd, 2021|11:13 pm

ketmar
перевёл фронтэнд (гуй) почтового клиента на скулит-базы. ради интереса не стал ничего кэшировать (кроме распарзеного текста письма, готового к рендеру — потому что это долго, если там html, например). даже конверсия message-uid в индекс листбокса и обратно — через SQL-запрос.

оно не тормозит настолько, что я с удивлением узнал: «ой, у меня весь интерфейс полностью рендерится заново при каждом движении мыши» только заглянув в исходник.

у меня уй-либа всё рисует во фрэймбуфер, а потом его блитает. включая курсор мыши, если бэкэнд OpenGL (в X11 используется системный). я переключил на OpenGL — и мышь отзывчива так же, как и системная. при том, что каждый раз идёт полный рендер, с кучей SQL-запросов. при этом сами запросы каждый раз компилились из текстовой формы (это я уже починил, но чисто для красоты, а не для скорости).

в общем, на удивление всё оказалось даже быстрее, чем с кастомным форматом баз. и памяти жрёт меньше примерно на 20 мегов. при этом есть ещё очень быстрый полнотекстовый поиск по всей базе писем. и ушли в небытие все лочки, которые были нужны, чтобы фоновый поток получения почты всё не сломал. по факту, почту вообще можно совать в базы из другого процесса сейчас, и ничего не сломается. возможно, я так и сделаю: вынесу получалку в отдельного демона.
Link Read Comments

Reply:
From:
(will be screened)
Identity URL: 
имя пользователя:    
Вы должны предварительно войти в LiveJournal.com
 
E-mail для ответов: 
Вы сможете оставлять комментарии, даже если не введете e-mail.
Но вы не сможете получать уведомления об ответах на ваши комментарии!
Внимание: на указанный адрес будет выслано подтверждение.
Username:
Password:
Subject:
No HTML allowed in subject
Message: