SI
SI
discoversearch

We've detected that you're using an ad content blocking browser plug-in or feature. Ads provide a critical source of revenue to the continued operation of Silicon Investor.  We ask that you disable ad blocking while on Silicon Investor in the best interests of our community.  If you are not using an ad blocker but are still receiving this message, make sure your browser's tracking protection is set to the 'standard' level.
Technology Stocks : IFMX - Investment Discussion -- Ignore unavailable to you. Want to Upgrade?


To: DZOO who wrote (10059)3/25/1998 4:15:00 PM
From: Mark Finger  Respond to of 14631
 
>terrible memory leak bugs<
"Memory leaks" are cases where memory was "allocated" for a task, but then was not "released" at the end of the task. Many commercial programs have some problems of this type, but the user generally does not run the program long enough at any one time to really cause problems. The most common way a end user would see this would be the message like "Running low on Virtual Memory; please close some applications" in NT or Windows 95. Quitting such a problem program generally cleans up the problem.

The problem for a DBMS is that many companies run them for a long time (24 hours a day for weeks at a time). Any "leaks" over such a long time would run the system out of memory and cause the program (and possibly even the operating system) to crash. This would be unacceptable behavior for a DBMS engine.

For those who wonder why memory needs to be "allocated", remember that many parts of a program are of different sizes, and it is generally not good to set up for the maximum size needed for a row, a SQL statement, or any other specific part. Instead, memory is divided up as needed for the current task at hand. This task of reserving a piece of memory for a specific task is the "allocation". There must also be a complementary process to reclaim the memory when the task is done, and this is what I mean by "release". That memory is now available for re-use.

Incidentally, this "memory management" (for allocation and release) can be very expensive in amount of processing required. Hence, it is one very important area to optimize in the DBMS engine.



To: DZOO who wrote (10059)3/27/1998 4:01:00 PM
From: Howard Armstrong  Read Replies (1) | Respond to of 14631
 
>terrible memory leak bugs<, what are they? Mark did a great job of explaining technically what this means. Suffice it to say, when a program allocates memory and does not un-allocate it, the software will continue to eat up more and more memory until the system crashes. A memory leak is a common problem in programs written in the C or C++ languages, since the programmer must allocate/de-allocate the memory manually. Illustra had a big problem with memory leaks ... compounded by the fact that developers could write their own Datablades in C, which means their Datablade could ALSO have a memory leak ... a memory leak on top of a memory leak. Unfortunately, Larry Ellison (ORCL CEO) said it right, "Datablades are madness." Boy, do I hate to agree with Larry!