Driver optimization

Поиск
Список
Период
Сортировка
От Andrei Gaspar
Тема Driver optimization
Дата
Msg-id 45BDE70E.7050100@softnrg.dnttm.ro
обсуждение исходный текст
Список pgsql-odbc
Hello,
I used the psqlodbc driver and did a little profiling for the speed. It
turns out that the memory management is very slow, using malloc from the
crt.
I have found another implementation of malloc, at
http://gee.cs.oswego.edu/dl/html/malloc.html
source code at
ftp://g.oswego.edu/pub/misc/malloc.c

This version is in the public domain and could be included in the project.

The performance increase is dramatic.

If the changes are OK, please commit them to the official cvs


Just add the malloc.c to the project, define the symbols USE_DL_PREFIX
and USE_LOCKS=1 and add the following code to psqlodbc.h:

#ifdef    USE_DL_PREFIX
void *  __cdecl dlcalloc(size_t, size_t);
void    __cdecl dlfree(void *);
void *  __cdecl dlmalloc(size_t);
void *  __cdecl dlrealloc(void *, size_t);
char *  __cdecl dlstrdup (const char *);

#undef malloc
#undef realloc
#undef calloc
#undef free

#define malloc  dlmalloc
#define realloc dlrealloc
#define calloc    dlcalloc
#define free      dlfree
#endif   /* USE_DL_PREFIX */

Andrei Gaspar
485a486,504
> #ifdef    USE_DL_PREFIX
> void *  __cdecl dlcalloc(size_t, size_t);
> void    __cdecl dlfree(void *);
> void *  __cdecl dlmalloc(size_t);
> void *  __cdecl dlrealloc(void *, size_t);
>
> #undef malloc
> #undef realloc
> #undef calloc
> //#undef strdup
> #undef free
>
> #define malloc  dlmalloc
> #define realloc dlrealloc
> #define calloc    dlcalloc
> //#define strdup    dlstrdup
> #define free      dlfree
> #endif   /* USE_DL_PREFIX */
>
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.1.410 / Virus Database: 268.17.12/655 - Release Date: 1/28/2007

В списке pgsql-odbc по дате отправления:

Предыдущее
От: Dave Page
Дата:
Сообщение: Updatable cursors - applications?
Следующее
От: Ian Klassen
Дата:
Сообщение: Re: Problems with MFC AddNew