Re: Excel XLS Import slowdown in version 8
- To: mathgroup at smc.vnet.net
- Subject: [mg116262] Re: Excel XLS Import slowdown in version 8
- From: Lou <lvveen32 at xs4all.nl>
- Date: Wed, 9 Feb 2011 02:08:57 -0500 (EST)
- References: <iig75v$rkm$1@smc.vnet.net> <iigpkd$212$1@smc.vnet.net>
On 4 feb, 12:58, Albert Retey <a... at gmx-topmail.de> wrote: > Hi, > > > I have noticed in Mathematica version 8 that Excel (.xls, not the new > > format) importing is about 3.5 times slower than in version 7. I > > noticed this because I have a script that reads two sheets from many > > Excel files that used to take 1.5 seconds per file that now takes > > around 5.18 seconds per file (AbsoluteTiming). Nothing else is done in > > that part of the script; it is just a map of an Import command over a > > list of Excel files. Is anyone else experiencing this slowdown? What > > is the cause? Are there any remedies? > > We have also noticed that the Import of xls-files can be much slower in > Version 8 than it was in Version 7. Especially if there are plots within > those files, the import in 8 can be horrible slow, in some cases Import > becomes completely useless. It looks like it has to do something with > the plots, but so far I have not found a way to avoid that, e.g. by just > importing the "Data" element. What has helped in most cases is to delete > all plots in the xls-files before importing, but of course that is just > a workaround and might not be a solution if you have many files, as > seems the case for you... > > I would be very interested to hear if anyone has found ways to improve > the import speed of xls-files in version 8 or switch back to the version > 7 behaviour... > > hth, > > albert Hi, My last obeservations on this subject. It seems that updating the variables and retrying different settings will not result in a repeatable problem. So the code already posted suddenly worked fine (but still slow). But still it seems that java plays an important role and one test is repeatable. Using Mathematica 8 with a cold start with following settings results in an error and reading the file before the error is generated really takes almost 8 minutes: writexls = Table[Range[Random[], 255], {x, 1, 10000}]; Export["xl.XLS", writexls] Export::fmterr: Invalid XLS format. >> $Failed readxl = Import["xl.XLS"]; Import::fmterr: Cannot import data as XLS format. >> Again coldstart Mathematica 8 and with Java parameter settings (David Bailey suggestion on the web) This works. In[1]:= Needs["JLink`"] ReinstallJava[CommandLine -> "javaw.exe -XX:NewSize=800m"]; In[3]:= writexls = Table[Range[Random[], 255], {x, 1, 10000}]; In[4]:= Export["xl.XLS", writexls] Out[4]= "xl.XLS" In[5]:= readxl = Import["xl.XLS"]; I don't understand the error message in combination with the 'solution/ workaround' but it works. Kind regards, Lou Laurent