Re: gnucash 1.5.98 qif import

2001-06-08 Thread Kevin Finn

Bill Gribble wrote:
 
 On Wed, Jun 06, 2001 at 01:06:05PM -0700, Dave Peticolas wrote:
  I don't know about guile-1.4, but on my guile-1.3.4 system,
  it takes almost 3 seconds to load src/scm/report-list.scm.
  That is over half the time I wait before the splash screen
  comes up! So I think you are wrong here.
 
 report-list.scm doesn't create any report objects.  It just defines
 the different types of reports.  I was talking about the loading of
 the code in ~/.gnucash/books/foo.scm that actually causes the reports
 to be created.
 
 If you were talking about trying to avoid loading the code that
 defines what reports are, I misunderstood you.  That would be a fairly
 major departure from our approach now, which is to load all the
 data-independent Guile code needed by Gnucash at startup time.  We
 would have to rewrite all the reports to somehow define them (so that
 they appeared in the report menu) without actually evaluating the
 (define) forms inside the report Scheme files.  Pretty tricky.
 
 I'm very surprised that the loading is so slow with 1.3.4.  Gnucash
 doesn't take nearly that long to load for me; and if the splash screen
 doesn't come up while stuff like that is loading, what good is it?
 Maybe we should shuffle things around to display the splash screen
 sooner.  That won't make things load faster, but eye candy helps pass
 the time.  Maybe a progress bar for startup?
 

 Another data point - I got inspired and did some debugging in
main.scm where a lot of the other scm files are require'd in.  On my
machine it takes ten seconds of load time to get through
report-list.scm.  This is measured by printing the current time before
and after '(gnc:depend report/report-list.scm)', using guile 1.4. 
Digging deeper, the largest load times seem to be register.scm (~3
seconds) and transaction-report.scm (~5 seconds).  Like Dave said, these
aren't times to actually create and display the reports, because I don't
have any reports said to run at startup.  This is just time to complete
the gnc:depend for each report.  I haven't had as much luck determining
exactly what goes on within these reports; apparently you can't just
stick (display ...) anywhere inside a (let-syntax ... ) that you'd
like.  Commenting out register.scm and transaction-list.scm from
report-list.scm causes gnucash to load about twice as fast for me.

 Maybe I'll take a look at what it would take to pop up the splash
screen a little earlier in the process.  

-- 

Kevin Finn
[EMAIL PROTECTED]
___
gnucash-devel mailing list
[EMAIL PROTECTED]
http://www.gnumatic.com/cgi-bin/mailman/listinfo/gnucash-devel



Re: gnucash 1.5.98 qif import

2001-06-07 Thread GLeeJ.

GLeeJ. wrote:

 when gnucash loads it starts at around 68 % cpu then goes to 98.3 finally
 resting at 1.3..just fyi in case it helps

 lee
 -=

 ___
 gnucash-devel mailing list
 [EMAIL PROTECTED]
 http://www.gnumatic.com/cgi-bin/mailman/listinfo/gnucash-devel

sorry.gnucash 1.5.98 on RH7.1/gnome1.4 ( all current ) which admittedly
is acting up albeit netscape takes about 30 some % upon finished loading
not while loading.no other apps seem to have this effect at ths time.

fyi-


lee
-===

___
gnucash-devel mailing list
[EMAIL PROTECTED]
http://www.gnumatic.com/cgi-bin/mailman/listinfo/gnucash-devel



Re: gnucash 1.5.98 qif import

2001-06-06 Thread Dave Peticolas

On 05 Jun 2001 18:39:32 -0500, Kevin Finn wrote:
 Leach, Chris J (Oakton) wrote:
  
  It would be nice if moving parent moved the subtree.
  It would be nicer if the tree was presented and you could drag and drop
  subtrees
 
  It's been a while since I've imported from QIF, but I agree that it
 would be nice to be able to drag-and-drop account in order to reorder
 the hierarchy in the account tree window, even if you're not just
 importing.  My original set of accounts were based on the MS Money
 default categories that I started with years ago, some of which no
 longer make any sense.  One of my wish list items for the next
 development cycle would be to be able to re-arrange the account tree
 more-or-less at will.
 
  I think the last time I tried,  changing an account's name didn't
 update all of the accounts' transactions' splits in other accounts with
 the new account name, although I haven't tried this in a while and so it
 may work right now.

This should work now. Splits are connected to accounts through 
pointers/GUIDs, so the failure to update the name is just a refresh
problem.


  While I'm thinking about it here are some other things that would
 be nice for the future.  Some of these I don't have any idea how to do,
 but I'd be willing to learn if no one else is already planning for them:
 
 Wish list:
  - rearrange account hierarchies

There is support for this in the engine and in dialog-account.c.
The GUI enforces some sanity checks on the hierarchy (see 
dialog-account.c) including what account types can be parents
of other account types. The account dialog allows any account
to be reparented to any other account, but pops up a dialog
explaining the changes which need to be made in order to do
that.

So, allowing the user to rearrange the hierarchy through drag-n-drop
requires implementing the drag-n-drop stuff and refactoring the
sanity check code from dialog-account.c.

  - book closing - my initial equity account that I started with when
migrating over from MS Money doesn't mean much now, a year and a  
half hence.  I know there was some discussion about book closing
on the list at one point but I don't know what the latest plan is.

This will almost certainly be on the plate for the next cycle.


  - startup and/or file load time - although I'm still using guile 
1.3.4, is the scheme performance on startup significantly improved
with guile 1.4?  It was so painful to set up a development 
environment in the first place that I'm cautious about changing
things if I don't need to :)  Also being able to close my books and
scrub out transactions from past years would probably help the load 
time too.

One thing that would really improve load times would be to defer
loading the main bodies of report code until they are needed for
the first time. I think this should be fairly straightforward.
Any guile gurus see problems there?


  My apologies if it's too soon to start looking forward to the next
 development cycle; I've been hanging onto a fairly involved set of
 reconcile enhancements that I'm ready to send out.

It's not too soon at all, now is the time :)

thanks,
dave


___
gnucash-devel mailing list
[EMAIL PROTECTED]
http://www.gnumatic.com/cgi-bin/mailman/listinfo/gnucash-devel



Re: gnucash 1.5.98 qif import

2001-06-06 Thread Bill Gribble

On Tue, Jun 05, 2001 at 11:40:08PM -0700, Dave Peticolas wrote:
 One thing that would really improve load times would be to defer
 loading the main bodies of report code until they are needed for
 the first time. I think this should be fairly straightforward.
 Any guile gurus see problems there?

dave, there's really no significant code that's loaded for reports;
reloading saved parameters doesn't take any time at all and doesn't
cause the report to get run.

The problem is *running* unnecessary reports, and that's been mostly
eliminated; the only reports that get run at startup are the ones that
are visible in top-level tabs (i.e. reports that are generated by
click throughs don't get created until the click through)

I suppose we could not run any report until it's actually the front
tab of an MDI toplevel.  The problem is that it's pretty hard to
detect that event happening reliably.

b.g.


___
gnucash-devel mailing list
[EMAIL PROTECTED]
http://www.gnumatic.com/cgi-bin/mailman/listinfo/gnucash-devel



Re: gnucash 1.5.98 qif import

2001-06-06 Thread Dave Peticolas

On 06 Jun 2001 06:44:20 -0500, Bill Gribble wrote:
 On Tue, Jun 05, 2001 at 11:40:08PM -0700, Dave Peticolas wrote:
  One thing that would really improve load times would be to defer
  loading the main bodies of report code until they are needed for
  the first time. I think this should be fairly straightforward.
  Any guile gurus see problems there?
 
 dave, there's really no significant code that's loaded for reports;
 reloading saved parameters doesn't take any time at all and doesn't
 cause the report to get run.
 
 The problem is *running* unnecessary reports, and that's been mostly
 eliminated; the only reports that get run at startup are the ones that
 are visible in top-level tabs (i.e. reports that are generated by
 click throughs don't get created until the click through)
 
 I suppose we could not run any report until it's actually the front
 tab of an MDI toplevel.  The problem is that it's pretty hard to
 detect that event happening reliably.

I don't know about guile-1.4, but on my guile-1.3.4 system,
it takes almost 3 seconds to load src/scm/report-list.scm.
That is over half the time I wait before the splash screen
comes up! So I think you are wrong here.

dave


___
gnucash-devel mailing list
[EMAIL PROTECTED]
http://www.gnumatic.com/cgi-bin/mailman/listinfo/gnucash-devel



Re: gnucash 1.5.98 qif import

2001-06-06 Thread Bill Gribble

On Wed, Jun 06, 2001 at 01:06:05PM -0700, Dave Peticolas wrote:
 I don't know about guile-1.4, but on my guile-1.3.4 system,
 it takes almost 3 seconds to load src/scm/report-list.scm.
 That is over half the time I wait before the splash screen
 comes up! So I think you are wrong here.

report-list.scm doesn't create any report objects.  It just defines
the different types of reports.  I was talking about the loading of
the code in ~/.gnucash/books/foo.scm that actually causes the reports
to be created.

If you were talking about trying to avoid loading the code that
defines what reports are, I misunderstood you.  That would be a fairly
major departure from our approach now, which is to load all the
data-independent Guile code needed by Gnucash at startup time.  We
would have to rewrite all the reports to somehow define them (so that
they appeared in the report menu) without actually evaluating the
(define) forms inside the report Scheme files.  Pretty tricky.

I'm very surprised that the loading is so slow with 1.3.4.  Gnucash
doesn't take nearly that long to load for me; and if the splash screen
doesn't come up while stuff like that is loading, what good is it?
Maybe we should shuffle things around to display the splash screen
sooner.  That won't make things load faster, but eye candy helps pass
the time.  Maybe a progress bar for startup?

Honestly, gnucash loads fast enough for me that I thought a progress
bar would be a waste of time, but if people are going to be using
1.3.4 and it's that slow maybe we should rethink that.

b.g.



___
gnucash-devel mailing list
[EMAIL PROTECTED]
http://www.gnumatic.com/cgi-bin/mailman/listinfo/gnucash-devel



Re: gnucash 1.5.98 qif import

2001-06-06 Thread Dave Peticolas

On 06 Jun 2001 15:45:15 -0500, Bill Gribble wrote:
 On Wed, Jun 06, 2001 at 01:06:05PM -0700, Dave Peticolas wrote:
  I don't know about guile-1.4, but on my guile-1.3.4 system,
  it takes almost 3 seconds to load src/scm/report-list.scm.
  That is over half the time I wait before the splash screen
  comes up! So I think you are wrong here.
 
 report-list.scm doesn't create any report objects.  It just defines
 the different types of reports.  I was talking about the loading of
 the code in ~/.gnucash/books/foo.scm that actually causes the reports
 to be created.
 
 If you were talking about trying to avoid loading the code that
 defines what reports are, I misunderstood you.  That would be a fairly

That is what I was talking about.


 major departure from our approach now, which is to load all the
 data-independent Guile code needed by Gnucash at startup time.  We
 would have to rewrite all the reports to somehow define them (so that
 they appeared in the report menu) without actually evaluating the
 (define) forms inside the report Scheme files.  Pretty tricky.

Not too tricky, I think. We already have infrastructure to load
files on demand only once so I don't think it would be too hard.
If we encapsulate it inside the report object, I think it wouldn't
be too hard.


 I'm very surprised that the loading is so slow with 1.3.4.  Gnucash
 doesn't take nearly that long to load for me; and if the splash screen
 doesn't come up while stuff like that is loading, what good is it?
 Maybe we should shuffle things around to display the splash screen
 sooner.  That won't make things load faster, but eye candy helps pass
 the time.  Maybe a progress bar for startup?

I'd be a bit paranoid about changing the order now -- maybe 1.6.1 or so?

dave


___
gnucash-devel mailing list
[EMAIL PROTECTED]
http://www.gnumatic.com/cgi-bin/mailman/listinfo/gnucash-devel



Re: gnucash 1.5.98 qif import

2001-06-06 Thread GLeeJ.


  I'm very surprised that the loading is so slow with 1.3.4.  Gnucash
  doesn't take nearly that long to load for me; and if the splash screen
  doesn't come up while stuff like that is loading, what good is it?
  Maybe we should shuffle things around to display the splash screen
  sooner.  That won't make things load faster, but eye candy helps pass
  the time.  Maybe a progress bar for startup?

sooner prob good idea.for me i get splash near end of load process
and its only visible for I think like .75 seconds.by comparison ( I
can't verify i'm in linux! g ) quicken is on screen a little quicker I
believe but for more like 2-4 seconds?...

not keen particularly on progress bar thats for stuff  like downloading or
effects processing whateva...even though its there in evo wm /gimp i'd just
rather seen a nice pic fwiw...g.



cu-
lee
-===



___
gnucash-devel mailing list
[EMAIL PROTECTED]
http://www.gnumatic.com/cgi-bin/mailman/listinfo/gnucash-devel



Re: gnucash 1.5.98 qif import

2001-06-06 Thread Kevin Finn

Bill Gribble wrote:
 
 On Wed, Jun 06, 2001 at 01:06:05PM -0700, Dave Peticolas wrote:
  I don't know about guile-1.4, but on my guile-1.3.4 system,
  it takes almost 3 seconds to load src/scm/report-list.scm.
  That is over half the time I wait before the splash screen
  comes up! So I think you are wrong here.
 
 I'm very surprised that the loading is so slow with 1.3.4.  Gnucash
 doesn't take nearly that long to load for me; and if the splash screen
 doesn't come up while stuff like that is loading, what good is it?
 Maybe we should shuffle things around to display the splash screen
 sooner.  That won't make things load faster, but eye candy helps pass
 the time.  Maybe a progress bar for startup?
 
 Honestly, gnucash loads fast enough for me that I thought a progress
 bar would be a waste of time, but if people are going to be using
 1.3.4 and it's that slow maybe we should rethink that.

 On my system, it takes 13 seconds from starting gnucash from a
terminal until I see This is a development version.  The splash screen
comes up within the next second.  Then, 5 seconds after that (19 since
the startup) the main account window pops up.  This is without any
reports set to run on startup; when I do have reports there's an
additional length of time (depending on the report) during report
generation when the account window is basically unusable.

 I assume some guile loading is going on before the development
version warning, but is there really 13 seconds' worth?  I ran this
test on a K6-2 350MHz desktop with 192M RAM, and loaded and unloaded
gnucash a couple times before making the measurement in order to achieve
what should be the best case on my system.  My data file size is 1.5Mb. 
In comparison, almost everything else on my system except for Netscape
starts up in 1-2 seconds.  I'm amazed that others are seeing much faster
load times; is the startup guile code so processor-intensive that it is
causing the delay I'm seeing?  Contrariwise, is anyone else experiencing
really long load times like I am?

 Maybe I'll give guile 1.4 a try and see if that improves things,
since this is really a low-end machine at this point in time :)  The
only thing that seems strange to me is that the splash screen takes a
while to come up; maybe if that could be moved earlier into the startup
sequence?  I'm partial to progress bars or marching icons like the
Gnome startup screen since they give me some indication that the app
hasn't totally hung (which might be an issue if other users are also
seeing this sort of load time), but I can see how some would find them
annoying so that doesn't matter to me too much either way.

 The other thing is that the splash screen doesn't redraw if it's
occluded during the startup process and then uncovered.  Maybe a
longer-term goal would be to figure out how to make sure GUI updates
continue to occur during lengthy operations like data file loading and
report generation.

-- 

Kevin Finn
[EMAIL PROTECTED]
___
gnucash-devel mailing list
[EMAIL PROTECTED]
http://www.gnumatic.com/cgi-bin/mailman/listinfo/gnucash-devel



Re: gnucash 1.5.98 qif import

2001-06-06 Thread Richard Braakman

On Wed, Jun 06, 2001 at 11:48:43PM -0500, Kevin Finn wrote:
  I assume some guile loading is going on before the development
 version warning, but is there really 13 seconds' worth? 

This might very well be the guppi bug we spotted last weekend.  If so,
gnucash is spending the time trying to read from /dev/random, and you'll
be able to speed it up by waving the mouse cursor around or something.
As far as I know no fixed version of guppi is available yet.  You could
try hacking it yourself to read from /dev/urandom or something :-)

Richard Braakman
___
gnucash-devel mailing list
[EMAIL PROTECTED]
http://www.gnumatic.com/cgi-bin/mailman/listinfo/gnucash-devel



Re: gnucash 1.5.98 qif import

2001-06-05 Thread Kevin Finn

Leach, Chris J (Oakton) wrote:
 
 It would be nice if moving parent moved the subtree.
 It would be nicer if the tree was presented and you could drag and drop
 subtrees

 It's been a while since I've imported from QIF, but I agree that it
would be nice to be able to drag-and-drop account in order to reorder
the hierarchy in the account tree window, even if you're not just
importing.  My original set of accounts were based on the MS Money
default categories that I started with years ago, some of which no
longer make any sense.  One of my wish list items for the next
development cycle would be to be able to re-arrange the account tree
more-or-less at will.

 I think the last time I tried,  changing an account's name didn't
update all of the accounts' transactions' splits in other accounts with
the new account name, although I haven't tried this in a while and so it
may work right now.

 While I'm thinking about it here are some other things that would
be nice for the future.  Some of these I don't have any idea how to do,
but I'd be willing to learn if no one else is already planning for them:

Wish list:
 - rearrange account hierarchies
 - book closing - my initial equity account that I started with when
   migrating over from MS Money doesn't mean much now, a year and a  
   half hence.  I know there was some discussion about book closing
   on the list at one point but I don't know what the latest plan is.
 - startup and/or file load time - although I'm still using guile 
   1.3.4, is the scheme performance on startup significantly improved
   with guile 1.4?  It was so painful to set up a development 
   environment in the first place that I'm cautious about changing
   things if I don't need to :)  Also being able to close my books and
   scrub out transactions from past years would probably help the load 
   time too.

 My apologies if it's too soon to start looking forward to the next
development cycle; I've been hanging onto a fairly involved set of
reconcile enhancements that I'm ready to send out.

-- 

Kevin Finn
[EMAIL PROTECTED]
___
gnucash-devel mailing list
[EMAIL PROTECTED]
http://www.gnumatic.com/cgi-bin/mailman/listinfo/gnucash-devel