Re: 2.4 Official -- memory stuff
- Posted by Robert Craig <rds at RapidEuphoria.com> Jul 07, 2003
- 501 views
Andy Serpa wrote: > No tweak on the memory allocation? I've got a growing list of > "un-runnable" programs with 2.4. Is this just a Windows ME problem? > You said you had no trouble under XP? I had no trouble on my 256Mb RAM Windows XP system. In fact, your program ran quite fast. I couldn't see any easy tweak to help you out on ME. It was also very slow on my 64Mb ME system (even after scaling things down). Some things you can do: - reduce the size of the sequences - make more use of integers rather than floating-point - create sequences at their final size, rather than "growing them" with append or concatenation In general, 2.4 is faster at allocating memory than 2.3. However your program really mangles the system heap. On Windows, 2.3 uses Watcom's heap manager, but to make Euphoria .dll's work reliably I must use the system heap, so that's what 2.4 does. The system heap might be using an extra 4 bytes per floating-point number. I'm not sure. > I was just reading about HeapAlloc at MSDN. Here is a possible relevant > note: > > ---------- > Windows Me/98/95: The heap managers are designed for memory blocks > smaller than four megabytes. If you expect your memory blocks to be > larger than one or two megabytes, you can avoid significant performance > degradation by using the VirtualAlloc or VirtualAllocEx function > instead. Thanks. Yes, ME may not be well designed for handling large blocks of memory. > It also said that with XP/2000 there is a "low-fragmentation" heap > available... That might help, but it probably wastes memory. Regards, Rob Craig Rapid Deployment Software http://www.RapidEuphoria.com