2009-06-19 3 views
0

Я пытаюсь использовать C++ в cgi-программах, и все нормально, если я не использую mysql. Без mysql мой сайт генерируется примерно через 1-2 мс, но если я добавлю только одну переменную или функцию из библиотеки mysql ++, сайт генерируется в ~ 35 мс! (с php это примерно 15 - 25 мс все время) Я полагаю, что это проблема с загрузкой dll (их две, а mysql dll - около 2 МБ!). Итак, как я могу использовать mysql без снижения производительности?C++ CGI и MySQL проблема (mysql ++)

Chris

+0

Если вы подозреваете, что проблема связана с dll, почему бы не попробовать связать mysql ++ statically? –

+0

beacuse of license (LGPL) - если я не хочу делиться своим кодом, мне нужно динамически связывать – chris

ответ

1

Может быть, вы могли бы посмотреть fastcgi, целью FastCGI является предотвращение от того, чтобы запустить исполняемый файл для каждого запроса, выполняемый всегда работает, и каждый запрос передается через сокет к вашему CGI , Fastcgi предоставляет библиотеку, которая легко может сделать это на нескольких языках. Затем вам необходимо настроить свой веб-сервер, например mod_fastcgi для Apache.

+0

Я попытался использовать fastcgi, но это не решение для меня. Я решил написать свой собственный сервер, это не так сложно, как я думал :) – chris

1

ОСТОРОЖНЫ

: Из-лицензии (LGPL) - если я не хочу, чтобы разделить мой код я должен связать динамически - Крисом 19 июн в 14:05

Пожалуйста посмотрите на эту дискуссию:
About MySQL++, GPL and LGPL
Если вы не выпускаете скомпилированные двоичные файлы, это нормально, но если вы хотите освободить свои двоичные файлы, вам также придется освобождать источники из-за t он факт, что MySQL ++ основан на библиотеке GPL (разъем mysql C).
Или купите лицензию.

Cheers,