urlread-function R2012b以来非常缓慢——为什么?

2视图(30天)
斯文迈斯特
斯文迈斯特 2012年11月11日
评论道: 詹姆斯2014年1月13日
你好,
我用一小块代码读出信息从大约100个网站使用 urlread 在其最简单的形式:
数= 1:元素
html_str = urlread ([“http://www.website.com/page”num2str(计数)]);
结束
昨天我改变了我的Matlab-version R2011a R2012b和略震惊。与旧版本循环需要大约20 - 30秒。新的需要将近5分钟!
我的研究采石场,Mathworks扩大了urlread-function 3额外的参数,把一些旧的。 http://www.mathworks.de/de/help/matlab/release-notes.html 但我不使用任何这些参数,只有赤裸裸的函数。我试着减少手动的“超时”0.1,但是没有影响。
有什么想法,什么原因导致失速,首先我可以拿回我的表现如何?非常感谢你的帮助!

接受的答案

1月
1月 2012年11月11日
为什么你认为这个问题是由Matlab ?你有老Matlab仍然安装吗?如果是这样,请检查如果旧版本今天也慢。
5个评论
安德烈亚斯•戈斯
安德烈亚斯•戈斯 2012年11月13日
看来你找到了一个解决方案,你可以分享帮助吗?我发现Wni8支持。金宝app似乎qualiified回来: //www.tatmou.com/金宝appsupport/sysreq/current_release/

登录置评。

更多的答案(2)

克莱门斯
克莱门斯 2013年11月28日
1评论
詹姆斯
詹姆斯 2014年1月13日
解决了我的问题,在测试,urlread2比urlread快10倍左右。

登录置评。


约翰Hedengren
约翰Hedengren 2013年11月8日
我也注意到这种损失速度,斯文提到我们的一些实验室电脑上。我们运行2010 b和2012 b。相同的代码需要2 - 3秒2010 b和2012 b / 5分钟我们自然地使用2010 b。APMonitor我们使用web服务体系结构的优化工具箱,所以有些用户切换到APM Python的性能降低。我最近尝试的修改版本urlread只有基本的函数调用(见下文)。似乎挂当它试图得到一个来自服务器的响应。
inputStream = urlConnect.getInputStream;
任何建议将不胜感激。我们使用的代码是在网上 APMonitor.com 。test_all运行。米应该运行的示例问题。对于一些用户快速但对其他人来说,这是极其缓慢的。
函数输出= urlread_apm (str)
试一试
如果usejava (jvm的),
进口com.mathworks.mlwidgets.io.InterruptibleStreamCopier;
%使用Java如果可用
url = java.net.URL (str);
urlConnect = url.openConnection;
超时= 1000000000;
方法=“得到”;
urlConnect.setRequestMethod(上(方法));
urlConnect.setReadTimeout(超时);
urlConnect.setDoOutput(真正的);
outputStream = urlConnect.getOutputStream;
outputStream.close;
试一试
inputStream = urlConnect.getInputStream;
好= true;
inputStream = urlConnect.getErrorStream;
好= false;
如果isempty (inputStream)
味精= ME.message;
我= strfind(味精,char (10 9 [13]));
如果~ isempty(我)
味精,味精(1:(1)1);
结束
错误(味精)
结束
结束
byteArrayOutputStream = java.io.ByteArrayOutputStream;
isc = InterruptibleStreamCopier.getInterruptibleStreamCopier;
isc.copyStream (inputStream, byteArrayOutputStream);
inputStream.close;
byteArrayOutputStream.close;
输出= char(定型(byteArrayOutputStream.toByteArray ',“uint8”));
% =定型(byteArrayOutputStream.toByteArray输出”、“uint8”);
其他的
% urlread R2012a后有时慢
%使用只有Java是不可用的
输出= urlread (url);
结束
犯错
输出= urlread (url);
结束
结束

类别

找到更多的在平台和许可帮助中心文件交换

标签

下载188bet金宝搏

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!