Re: Five Reasons Why Synchronous Networking Is Bad
Re: Five Reasons Why Synchronous Networking Is Bad
- Subject: Re: Five Reasons Why Synchronous Networking Is Bad
- From: Geoff Beier <email@hidden>
- Date: Fri, 6 Mar 2009 00:16:44 -0500
On Thu, Mar 5, 2009 at 10:39 PM, <email@hidden> wrote:
> Just wanted to clarify what I meant here so I don't sound clueless hah. I'm
> sure that an app like Safari has separate threads for every tab and never
> blocks on the network etc etc, but the real world result is that any browser
> I've ever used beachballs constantly as soon as I have more than a handful
> of tabs open, and often even on a single tab. It might be a filesystem call
> to load a picture or something reading virtual memory, I don't really know.
> Contrast that with Google's Chrome that from what I understand has a
> separate process for each tab, or at least a process per server I believe.
> The parent process should be able to manage the child processes without
> ever beachballing. I actually had the idea 5 years ago to make a Safari
> clone with a process in each tab running WebKit, but realized there would
> just be no money in it and I'd lose myself in a project like that, not to
> mention I'd probably screw it up haha. Anyway I haven't used Chrome much
> because the interface is still a bit lacking, but I really think separate
> processes will be the future of browsers, and I really hope Apple adopts it
> for Safari.
>
I can't speak to safari or chrome. But I can tell you definitively,
from having spent some time improving Camino a few years ago, that
nearly every beachball you see using it normally is caused by one of
three things:
- layout of truly pathological pages (malformed tables nested in
malformed tables nested in malformed tables, etc)
- plugins
- crappy javascript
Of those three causes, plugins were the lion's share in my sampling.
So much so that I almost hesitate to even mention the other two. And
of those caused by plugins, the vast, vast, vast majority were caused
by one in particular whose name rhymes with "crash". Don't get me
wrong; all plugins that needed to draw in the window degraded the
user's experience. That one was just far and away the worst and,
unhappily, the most common. While I never looked to see if it was the
plugin's network activity causing problems, it didn't feel like it.
Most of the time it seemed related to drawing and/or handling local
events.
I haven't taken a close look in a few years, but it doesn't feel like
that's changed. I'd be shocked to learn that blocking on network
activity was now the main problem.
Regards,
Geoff
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Macnetworkprog mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden