performance

A discussion forum for JFreeChart (a 2D chart library for the Java platform).
Locked
sunil

performance

Post by sunil » Thu Jan 09, 2003 12:28 am

Hi,

I recently downloaded 0.9.4a and have begun playing with it. Great work! It suits my needs pretty well on a feature basis. One thing I seem to be tripping on however, is performance with large data sets. With an XYPlot tied to a CandlestickRenderer, I am getting average draw times of more than 5 seconds for a dataset of 4000 odd entries. Is this normal?

Also, every window resize seems to result in at least 2 render operations on XYPlot. Is this a java thing?

Apologies if this has been covered before. A quick search didn't show anything...

Thanks,

Sunil

sunil

Re: performance

Post by sunil » Thu Jan 09, 2003 12:38 am

Sorry, forgot to add system info. RedHat 7.3 (2.4.18 kernel) on a Pentium-III 500MHz with 786MB RAM and Sun Java 1.4.1 (and maximal heap sizes). The dataset itself is first initialized and in memory before charting is invoked.sunil wrote:

David Gilbert

Re: performance

Post by David Gilbert » Thu Jan 09, 2003 7:14 am

sunil wrote:
> I recently downloaded 0.9.4a and have begun playing with it.
> Great work! It suits my needs pretty well on a feature basis.
> One thing I seem to be tripping on however, is performance
> with large data sets. With an XYPlot tied to a
> CandlestickRenderer, I am getting average draw times of more
> than 5 seconds for a dataset of 4000 odd entries. Is this
> normal?

I'm afraid so. I haven't focussed a lot of effort on improving performance yet, so I'm sure there are things that can be done to make it better. Suggestions are welcome.

> Also, every window resize seems to result in at least 2
> render operations on XYPlot. Is this a java thing?

Not sure, it could be a bug in the code - I'll see if I can replicate it here.

Regards,

Dave Gilbert

sunil

Re: performance

Post by sunil » Thu Jan 09, 2003 2:35 pm

Thanks Dave!

A quickie that I hacked in was to undo the maxVolume calculation for each drawItem on the CandlestickRenderer. Not knowing enough about the semantics of DatasetChanged et al, I'd be loathe to post that hack here :-) Also ensured that my dataset implemented both Range interfaces. These helped matters greatly. The numbers above were after these however.

Sunil

Locked