octave-bug-tracker
[Top][All Lists]
Advanced

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

[Octave-bug-tracker] [bug #59277] xls2oct and/or openxls behave unexpect


From: Dennis
Subject: [Octave-bug-tracker] [bug #59277] xls2oct and/or openxls behave unexpected
Date: Thu, 15 Oct 2020 12:46:28 -0400 (EDT)
User-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.121 Safari/537.36

URL:
  <https://savannah.gnu.org/bugs/?59277>

                 Summary: xls2oct and/or openxls behave unexpected
                 Project: GNU Octave
            Submitted by: dizze
            Submitted on: Thu 15 Oct 2020 04:46:26 PM UTC
                Category: Octave Forge Package
                Severity: 3 - Normal
                Priority: 5 - Normal
              Item Group: Performance
                  Status: None
             Assigned to: None
         Originator Name: 
        Originator Email: 
             Open/Closed: Open
                 Release: 5.2.0
         Discussion Lock: Any
        Operating System: Microsoft Windows

    _______________________________________________________

Details:

In a script that uses many reads (no writes) from an Excel sheet, I am trying
to optimize for speed. For that reason I do not use xlsread, but
xlsopen/xls2oct/xlsclose. I call xlsopen using "OCT" as the defined interface.


I noticed that every first time a sheet is read, it takes a long time. Using
the profiler I found out that this first time, the xls functions seem to use
the UNO interface.

After the first run, the profile looks like this:
   #                             Function Attr     Time (s)   Time (%)       
Calls
-----------------------------------------------------------------------------------
  59                     __UNO_spsh2oct__             8.068      90.04        
   3
  54                             cell2mat             0.355       3.97        
 892
   1 @Recipe/read_magistral_relationships             0.105       1.17        
   1
  62                             strsplit             0.066       0.74        
 105
  74                       parse_sp_range             0.050       0.55        
  99
  72                 __UNO_getusedrange__             0.042       0.47        
   3
  83                               strtok             0.035       0.39        
  99
  23                              cellfun             0.024       0.26        
3680
  81                                index             0.019       0.21        
  99
  22                                 load             0.018       0.21        
   2
  75                              deblank             0.018       0.20        
  99
  53                               regexp             0.016       0.17        
 306
  50                              xls2oct             0.015       0.17        
   3
  21                   installed_packages             0.012       0.13        
   1
  37                                 sort             0.009       0.10        
 711
  63                          parseparams             0.009       0.10        
 105
  56                                  all             0.008       0.09        
2123
   8                             prefix !             0.007       0.08        
4633
  61                           javaObject             0.006       0.07        
 193
  13                              isempty             0.005       0.06        
2568

The second time, it looks like this:
   #                             Function Attr     Time (s)   Time (%)       
Calls
-----------------------------------------------------------------------------------
  54                             cell2mat             2.121      55.11        
5152
  53                               regexp             0.638      16.59        
2148
  60                     __OCT_xlsx2oct__             0.408      10.59        
   3
  23                              cellfun             0.201       5.22       
22781
   1 @Recipe/read_magistral_relationships             0.096       2.50        
   1
  70                           str2double             0.039       1.02        
  18
  37                                 sort             0.033       0.86        
2820
   8                             prefix !             0.033       0.85       
22819
  67                                  cat             0.031       0.79        
2354
  56                                  all             0.030       0.78       
12776
  75                              col2num             0.022       0.57        
3428
  49                                 size             0.021       0.55        
5210
  28                               ischar             0.021       0.55       
10630
  50                              xls2oct             0.019       0.49        
   3
  55                               iscell             0.016       0.43        
5158
  22                                 load             0.016       0.41        
   2
  72                              reshape             0.013       0.34        
2333
   4                               nargin             0.013       0.33        
5179
  13                              isempty             0.012       0.32        
6022
  21                   installed_packages             0.012       0.32        
   1

Note that the function '__UNO_spsh2oct__' no longer appears in the list. This
second time is much faster as well.

Note 1: after 'clear functions' the profile looks like the first.
Note 2: I am using an xlsx spreadsheet. No clue why UNO is called.
Note 3: I use io package version 2.6.2





    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/bugs/?59277>

_______________________________________________
  Message sent via Savannah
  https://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]