It's not really (or not only) Windows the culprit but rather the compilers that implement lazy memory managers. In my experience, Borland had rather slow functions, always beaten by microsoft (sorry :( ). For instance, there are out some C compilers like LCC that (as I'm told) does not implement any memory manager but passes the calls to the OS. As far as I know, MS Visual C memory manager is quite fast.
If one have problems with the malloc's, maybe they could be inside ifdef's to use one style or another. ----- Original Message ----- From: "D. Richard Hipp" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Friday, September 03, 2004 8:43 PM Subject: Re: [sqlite] SQLite & stack size > Christian Smith wrote: > > > > How often does the balancer run? > > > > No so much, it turns out. Long ago, it used to run a lot > more often and was a high runner. But I've since optimized > it out of a lot of situations. > > So allocating with malloc() isn't a big performance hit > after all (at least not on systems where malloc performs > well - I haven't tried it on windows...) I've checked in > the changes so that btree.c now allocates all of its big > temporary data structures using malloc instead of allocating > them off of the stack. > > Let me know if you see any problems.... > > -- > D. Richard Hipp -- [EMAIL PROTECTED] -- 704.948.4565 >