Bloat!

William Shipley wjs at omnigroup.com
Sun Feb 27 16:58:04 PST 2000


> MY GAWD! 175MB VIRTUAL and 41.3 REAL!!?? What on earth is it doing with this  
kind of memory allocation? Is it just one gigantic memory leak?

> Inquisitive minds (and disgruntled users!) want to know!

Unfortunately, since black hardware has been discontinued for 10 years, we don't support it much any more.  We have made almost all the source code available so users can support it themselves.  I know it's upsetting to have support for your product dropped, even after 10 years, and I will gladly refund the purchase price of your licenses if you are finding OmniWeb isn't usable.

In fact, we wrote and sell a tool to detect memory leaks, and have run OmniWeb through it many times.  We did find a lot of leaks early on, but nowadays pretty much all leaks are due to the AppKit (for example, just loading a NIB leaks some NSStrings and NSDates).

In your case, you are most likely running into a combination of bugs/limitations in NEXTSTEP.  First off, we had lots of problems with images and NSDatas not correctly freeing their VM in a variety of circumstances.  Secondly, we found that using NSDatas caused a lot of virtual pages to be allocated but not used, which made it look like your program was using a ton of memory when in fact none of it was actually resident.

Both of these bugs are fixed in OS X Server, and OS X, the platforms we support.

In general, we appreciate having bug reports sent to omniweb3 at omnigroup.com, rather than this mailing list.

-W

PS: Here's the algorithm for saving a window's frame.  'ignoreChangesToWindowFrame' is only YES for a few moments while the window is loading.  Basically, if you only have one window open, it's supposed to save its frame when you resize it.  I don't think this works correctly, I don't know why.

- (void)saveFrameForWindow:(NSWindow *)aWindow;
{
    OBASSERT(aWindow == window);

    if (flags.ignoreChangesToWindowFrame || [[[OWController sharedController] webBrowsers] count] != 1)
	return;

    [window saveFrameUsingName:windowFrameSaveName];
    [[NSUserDefaults standardUserDefaults] synchronize];
}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: text/enriched
Size: 2261 bytes
Desc: not available
Url : /mailman/archive/omniweb-l/attachments/20000227/9e0e3bc5/attachment.bin


More information about the OmniWeb-l mailing list