Re: CSV files : huge performance issue...

On Fri, Nov 12, 2004 at 07:24:07PM +0100, Emmanuel Pacaud wrote:

This is fair enough, you only do it once. However once the graph is
created and put on top of the cells/spreadsheet, if I want to "drag"
it somewhere with the mouse, it takes about 15 seconds to move by 3 or
4 cells...

That's not expected. Each graph are rendered and cached in a pixbuf,
moving them is expected to be quite fast.

This is likely caused by disregarding the 'rubber_band_directly ==
FALSE' flag for plots.  When moving/resizing the plots we would end
up redrawing them with motion rather than using a rubber banded
rectange and redrawing on completion.  That was fixed in 1.3.9[2-3].
It's as is whatever I am trying to do with the mouse, gnumeric
processess the entire 800,000 cells, instead of affecting only the 100
or so cells taht are atually visible at a given time, in the document
window. Am I right in this assumption ?
I do not understand.

Also, saving the file into
Gnumeric format took about 5 to 10 minutes of hard work for the hard
drive... :-/

The 1.4.0 will use the new faster sax based exporter for .gnumeric
files.  That is a huge speed win.  1.2.x used the original xml DOM
based implementation that did not scale well at all.  Unfortunately
we are still using the xml DOM based importer.  There is a sax
importer, which is significantly faster than the default, but it
does not support sheet objects yet (charts, comments, drawings ...).

What puzzles me is that last time I worked on such files, it was with
MS Excel, and it was lightening fast, opening, creating graphs,
manipulating data, moving graphs around, saving the file, everytinhg
seemed fast and effortless. So the machine is not at fault. Why is
Gnuméric so slow ? Considering Gnuméric aims (I think ?) to be as good
as Excel, can I hope that this major issue will be investigated, or is
already under investigation ? 

This issues will surely be investigated...

We take performance seriously but can't catch everything before we
release.  As we find problems, and when people report them we can
solve them.

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