Re: patch: improve oracle performance on sbcl and cmucl
Kevin Rosenberg <kevin-HJRc7zDS/[email protected]> Sun, 13 Nov 2005 02:16:38 -0700
| Newsgroups | gmane.lisp.clsql.devel |
|---|---|
| Message-ID | <[email protected]> |
James Bielman wrote: > Due to a lack of inlining and type declarations, the Oracle > backend currently conses like it's going out of style on SBCL > and CMUCL. That's not too surprising. I only worked on the backend enough to have it pass all of the test suite and never did any real work on performance optimizing for sbcl/cmucl drastic need for type declarations. > The following patch improves the situation quite a bit, by > inlining all the OCI functions (both the raw ones and the error > checking wrappers). Also, the SHORT-ARRAY type was missing a > NIL dimension---after fixing the type definition I was able to > uncomment the type declaration in FETCH-ROW; this change alone > reduced the time for my test query by about a factor of six! Yay - a big win! > I've tested the patch on SBCL x86 and x86-64 Linux, SBCL darwinppc, > LispWorks 4.3.7 x86, and OpenMCL/darwinppc, and the testsuite doesn't > appear to fail any additional tests. I am going to try to fix the > Oracle tests that fail as well in another patch. Hmm. That's odd. The last time I tested the backend was around CLSQL 3.1 with using 9g and 10i. At that time, it passed all of the test suite. I think I accepted one patch since then, which was untested by me. Perhaps something changed in the upper layers of CLSQL that affected the test suite on the Oracle backend. Kevin