Issue 96961 - performance: Chart duplicates data in spreadsheet
Summary: performance: Chart duplicates data in spreadsheet
Alias: None
Product: General
Classification: Code
Component: chart (show other issues)
Version: 3.3.0 or older (OOo)
Hardware: Unknown All
: P3 Trivial (vote)
Target Milestone: ---
Assignee: AOO issues mailing list
QA Contact:
Keywords: performance
Depends on:
Reported: 2008-12-05 21:03 UTC by tom_h
Modified: 2013-09-25 20:41 UTC (History)
2 users (show)

See Also:
Latest Confirmation in: ---
Developer Difficulty: ---


Note You need to log in before you can comment on or make changes to this issue.
Description tom_h 2008-12-05 21:03:22 UTC
Adding a chart to a spreadsheet results in creation of a copy of the data being
charted. This data is stored in the "content.xml" data for the chart object.

This is a design defect, resulting in larger than necessary spreadsheet files,
and very, very slow execution for large numbers of rows being charted (e.g., 50K
rows for 2 columns displayed in an XY graph). 

While I don't the details behind the design decision for this, the apparent
solution from my viewpoint, is that chart object should store links to the data
rather than a copy of the data.

This issue degrades the performance of Calc to the point of making it unusable
for large datasets. To illustrate this, create a sheet of two columns of numbers
with 50K rows. Create an XY chart from the 2 columns. Try copy/paste a copy of
the chart. Try to edit a chart's properties. Give yourself a few minutes for
each chart operation, depending upon the speed of your computer.

In one of my spreadsheets, with about 20 cols X 58400 rows, I created 6 XY
charts on another sheet. Took awhile but worked. Saved it. Selected the range
containing the graphs and "exported selected range to PDF". Calc hung - after
about 30 minutes, killed process via Task Mgr. The soffice.bin process was using
about 240MB -- the ODS file is about 6.3 MB with the 6 charts in it, and about
1+ MB with no charts.

version: WinXP sp3, OOo 3.0
hardware: (1) 2GB mem. cpu = Athlon 64 3200, (2) 4GB mem., cpu = core-duo E6850
Comment 1 IngridvdM 2009-01-27 15:15:36 UTC
Yes, this is a point for improvement.
Currently it is necessary to duplicate the data for the scenario that charts are
pasted to somewhere else where the original data is not available. The
copy/paste scenario is solved via save and load, thus the data must be stored in
the file currently.