MATLAB Answers

How can I make urlread faster / problem using urlread2?

6 views (last 30 days)
Joel
Joel on 4 Aug 2014
Commented: Yingyun Ai on 8 Jun 2017
Hello,
I am using old Matlab 7 and been struggling with urlread-function. It is painfully slow.
A=urlread('http://www.mathworks.com') takes about 700ms and it is just 35000 characters long. Basically smaller or larger webpages take between 700 and 900ms to read, so this is not about the speed of the internet connection.
I also read about the improved urlread2-function, but could not get it working. I downloaded this
and copied all files to a folder. When running
A=urlread2('http://www.mathworks.com')
It gave this error
Error in ==> urlread2 at 144 assert(usejava('jvm'),'Function requires Java')
OK, I found the assert.m function online and copied it to the folder too. Now this error appeared:
??? Undefined variable "com" or class "com.mathworks.net.transport.MWTransportClientPropertiesFactory.create".
Error in ==> urlread2>getURLConnection at 360 mwtcp = com.mathworks.net.transport.MWTransportClientPropertiesFactory.create();
Error in ==> urlread2 at 151 urlConnection = getURLConnection(urlChar);
Any idea how I could get urlread2 working or make urlread faster? Any help in this problem is greatly appreciated. Thank you so much in advance.

  2 Comments

Geoff Hayes
Geoff Hayes on 4 Aug 2014
If you run the following in the Command Window
usejava('jvm')
what is the result? (I'm guessing that it is zero.) Also, what does
version -java
return? (This returns the version of the Oracle® JVM™ software that MATLAB is using.)
Joel
Joel on 4 Aug 2014
usejava('jvm') returns 1 and the java version is:
Java 1.4.2 with Sun Microsystems Inc. Java HotSpot™ Client VM (mixed mode)

Sign in to comment.

Answers (1)

per isakson
per isakson on 4 Aug 2014
Edited: per isakson on 4 Aug 2014
With R2013a,64bit,Win7 and a "fast" Internet connection.
>> tic, A=urlread('http://www.mathworks.com'); toc
Elapsed time is 0.763045 seconds.
>> tic, A=urlread('http://www.mathworks.com'); toc
Elapsed time is 0.769103 seconds.
>>
>> usejava jvm
ans =
1
>> version -java
ans =
Java 1.6.0_17-b04 with Sun Microsystems Inc. Java HotSpot(TM) 64-Bit Server VM mixed mode
http://www.speedtest.net/ says my download speed is 720Mbps

  3 Comments

Joel
Joel on 4 Aug 2014
So this basically confirms what I suspected: urlread is generally slow regardless of the computer/matlab setup you are using. You can find people complaning about that online.
The next questions are then:
1) are there ways to speed-up urlread? 2) is urlread2 faster? 3) if yes, why doesnt urlread2 work in my first post here?
Yingyun Ai
Yingyun Ai on 8 Jun 2017
hi, can I ask if you have solve the problem, does it read faster than urlread?

Sign in to comment.

Sign in to answer this question.