pan-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Pan-users] Re: 0.129 - a few minor issues


From: Duncan
Subject: [Pan-users] Re: 0.129 - a few minor issues
Date: Sat, 12 May 2007 04:11:36 +0000 (UTC)
User-agent: Pan/0.129 (Benson & Hedges Moscow Gold)

SciFi <address@hidden> posted
address@hidden, excerpted below, on  Fri, 11 May 2007
09:05:12 +0000:

> My bug-report also tries to show that a multi-CPU machine is not being
> utilised very well at all, but as mentioned in the report I am wondering
> if it's intrinsic to glib/gtk/whatever that is responsible here.  And as
> mentioned, I have gone through every component to be sure I've got
> [p]thread support enabled etc. if available during its configure.

Multi-CPU/multi-core would intuitively need multithread it's true, but 
intuition isn't always correct, and given intelligent use of threading at 
the bottlenecks and with the serious resource locking and thread timing 
related debugging issues, a fully multithreaded app isn't necessarily the 
best answer, particularly if it does little or nothing to address the 
bottlenecks.

Rather, I believe Charles' single-threaded core, multi-threading where it 
can demonstrably improve performance, is a solid approach.  The issue at 
this point is simply that the rewrite remains far newer and less mature 
than the years and years of testing and coding that had gone into the 
older version by 0.14.x, so naturally there are places that haven't been 
fully optimized (whether that means multithreading as it will in some 
cases, or simply recoding with specific issues in mind, as in the below 
for example).
 
> I see I'll need to file at least two more bug-reports as I need to
> document specific areas for each one; it's better to separate the issues
> this way.  For ex. the next report I should file is as follows:  As I
> type this with an external editor right now, no downloads can progress,
> everything under pan2's umbrella is frozen until I save this tempfile so
> it can continue.

That's a definite bug, not just a missing feature.  Downloads can and do 
progress while using the built-in editor, and they should when using an 
external editor as well.  I'm guessing that this was simply overlooked, 
however, and not caught in testing until now as relatively few use an 
external editor.  IOW, it's just the immaturity of the new code, not an 
intrinsic single-threading vs. multithreading issue.  Definitely file 
that as a bug on its own.  If the hatch external editor functionality is 
implemented with a callback, so pan can then continue about its other 
business, downloading and the like, instead of instituting it in-line, 
holding up the entire app, there's no reason a separate thread should be 
needed, and in fact hatching such a thread could be considered a waste of 
computing resources.

> Charles should've known his single-thread approach in the rewrite will
> soon become a major issue with most ppl.  I'm sorry to say this but
> foresight should've been part of the rewrite (valour).  ;)

It's not the single-threaded approach that's really the problem.  Sure, 
multithreaded the entire app would be one way to address the problem, but 
there are other, less resource wasteful ways of managing the problem as 
well.  It's simply a matter of time, finding, bugging, and instituting 
appropriate measures (which in fact do include multithreading individual 
tasks at times), as individual bottlenecks are discovered.  IOW, it's an 
issue of maturity.  New-pan is a lot simpler to work with, both because 
of its modularity and because its core /is/ single-threaded, so progress 
is much faster.  However, it remains a relatively new rewrite and there 
are areas that simply aren't as smooth as old-pan, simply because they 
haven't had time to be smoothed out yet.

-- 
Duncan - List replies preferred.   No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master."  Richard Stallman





reply via email to

[Prev in Thread] Current Thread [Next in Thread]