[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: очень хочется squirrelsh



Hello!

On Thursday 21 January 2010 23:40:46 Aleksey Cheusov wrote:
> > Hello!
> 
> > On Thursday 21 January 2010 15:22:51 Ed wrote:
>  >> > Спасибо, работает. Впрочем, оно неинтересно, так как это не нативный 
>  >> > интерфейс к SQLite. 
>  >> 
>  >> что значит "нативный" в этом контексте?
> 
> > Враппер для функций SQLite, а не реализация чего-то вроде ODBC.
> 
> Есть основания считать, что "обертки" вроде DBI работают сильно
> медленнее нативной библиотеки? Насколько? Есть цифры? Может, гибкость в
> выборе базы данных того стоит?

Какая гибкость - вы знаете другую SQL СУБД, способную выполнить миллион 
селектов в минуту? Обертки не поддерживают особенностей каждой СУБД,
ради которых и стоит ее выбирать. И таки да, на определенных задачах
быстродействие врапперов неприемлемо.

> Если производительность твоего приложения зависит от скорости ЗАПУСКА
> чего-то внешнего, и это внешнее запускается десятки тысяч раз, значит ты
> делаешь что-то не так. Меняй парадигму.

Я правильно понимаю вашу логику: скорость работы юникса зависит от 
скорости запуска шелла, значит, надо отказаться от юникса? А вот в дебиане
почему-то решили просто шелл сменить на более быстрый (bash на dash).
К примеру, когда время выполнения задачи составляет порядка 10 мс, потратить
1 мс на запуск считаю вполне допустимым, если это на порядок уменьшает 
сложность системы (зачастую удобнее разрабатывать, тестировать и 
поддерживать десяток независимых дополнительных утилит, нежели 
дополнительных библиотек). В частности, смотрите дизайн qmail - как пишет 
DJB, он не видел еще ни одной системы, где проблемой бы являлись именно
накладные расходы на запуск компонентов.

Вот, скажем, утилита полнотекстового поиска по проиндексированным документам:

$ time poisk-query /mnt/backup/project/offline1/res/dataset/share.db 1 0 "" абонент
counter = 1 from 821
docid = 2
mtime = 2009-08-20
size = 30085
uri = /share/smspomosh.html
snippet = <b>...</b> ��────────┘Если <b>абонент</b> отправляет сообщение с <b>...</b>
rang = 0
mimetype = text/html
title = SMS-помощник

real	0m0.028s
user	0m0.024s
sys	0m0.008s

$ time poisk-query /mnt/backup/project/offline1/res/dataset/share.db >/dev/null 2>&1

real	0m0.007s
user	0m0.004s
sys	0m0.000s

Это результаты на ноуте с частотой 800МГц. Прекрасно себе живет в виде отдельной
утилиты и быстро встраивается в любую систему. А так же вызывается интерактивно, 
грепается и т.п.

> > миллисекунд), этому требованию луа удовлетворяет. Но синтаксис...
> hint: luac

Гляну. Стандартный интерпретатор луа в сишную программу я попробовал 
встроить, не впечатлило.

Best regards, Alexey Pechnikov.
http://pechnikov.tel/

Reply to: