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 по дате отправления: