[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Speed of odsread
From: |
PhilipNienhuis |
Subject: |
Re: Speed of odsread |
Date: |
Fri, 22 Sep 2017 04:29:15 -0700 (MST) |
PhilipNienhuis wrote
> (Hey I did send a reply though Nabble bit it didn't arrive. Attempt #2)
>
>
> hjborsje wrote
>> I'm comparing the speed of loading a LibreOffice (*.ods) spreadsheet in
>> Octave and MATLAB. The results are so vastly different that I wonder if
>> I'm
>> doing it correctly. A spreadsheet with 1900 rows, 23 columns takes 135
>> seconds in Octave. In Matlab 5.5 seconds. A larger spreadsheet of
>> 60,000
>> x
>> 23 takes 10.5 seconds in Matlab. Octave did not finish after 10 minutes.
>> I
>> run Octave 4.2.1 with all the latest packages on Windows 10. I enter:
>> [s,~,~,~] = odsload ('MySpreadsheet.ods',1); Adding a third and fourth
>> parameters makes no significant difference.
>
> What spreadsheet I/O "interface" did you use? and windows 32 or 64 bit?
>
> The "native" spreadsheet I/O interface ("OCT") for .ods is know to be
> pathetic as regards speed. In addition .ods is an almost equally
> pathetically complex file format.
>
> The fastest interface for .ods we've got on offer is jOpendocument, but it
> is Java-based.
> Until Octave has better functions for morphing heterogeneous Java data
> structures into Octave cell arrays (maybe, sometime) we cannot beat matlab
> with its Excel backend.
FYI, just some benchmarks with the file you uploaded:
tic; [tic; [~, ~, raw] = odsread ("RData_01b.ods", 1, "", <intf>); toc
gives when specifying the following interfaces for <intf>:
"otk": ~18 s.
"jod": ~10 s.
"oct": ~96 s.
"uno": ~35 s. ## Invokes LibreOffice
... and ...
tic; [~, ~, raw] = xlsread ("RData_01b.ods", 1, "", "com"); toc ## Invokes
Excel
==> about 6 s.
Philip
--
Sent from: http://octave.1599824.n4.nabble.com/Octave-General-f1599825.html