[EMAIL PROTECTED] writes:
> Hmm. My general experience with interpreted languages on the server side
> is poor, I've walked away with the idea that its just a bad idea, and to
> just say no. Basically, they end up being CPU suckers that just don't
> scale, never mind maintenance headaches, debugging headaches, memory leak
> nightmares, hangs, crashes, etc. You will want to defend guile, but my
> comments are generic: interpreted languages tend not to have good
> debuggers. They tend to have garbage collectors built in. Take a look
> at the JVM. There have been thousands of man-years poured into that
> garbage collector, and soon as you push it to 100% cpu load on an SMP,
> you get crashes & hangs & leaks. This is not to say that the JVM is
> bad, on the contrary, its great, its just that pushing servers to 100%
> cpu load is very stressful to designs & architectures that most
> programmers just have never experienced. Historically, it takes
> decades to get to there, java and NT fit the norm, and even Linux has
> had its share of problems under high cpu & i/o stress, which took many
> years to fix (and I don't know that it is fixed). Its just the
> way server software works.
>
>
A couple of points:
1) Isn't the performance problem more likely to come from:
a) database/filesystem performance
b) network performance
in a client/server situation?
2) The Sun JVM is *slow*. While I haven't developed extensively in
Java, I have friends who have, and their opinion is that the Sun JVM
is the CPU sucker from hell.
There may indeed be stuff that should be
implemented in C. However, guile and g-wrap make it very easy to drop
in a C reimplementation of a Scheme function. If we do have
performance problems that *are* CPU related, we can then reimplement
just those parts that need it.
One thing that we probably do have to be careful of is using bad
algorithms. Some of the reports put more load on the engine than they
need to - while it doesn't matter now, it might matter if we start
putting millions of transactions in!
Wrapping the query interface and using queries instead of
filtering with scheme should improve things in this regard.
--
------------------------------------------------------------
Robert Merkel [EMAIL PROTECTED]
------------------------------------------------------------
--
Gnucash Developer's List
To unsubscribe send empty email to: [EMAIL PROTECTED]