在收听StackOverflow播客时,jab不断出现"真正的程序员"用C语言编写,而C语言更快,因为它"靠近机器".将前一个断言留给另一个帖子,C的特殊之处在于它是否比其他语言更快?或者换一种方式:什么阻止其他语言能够编译成二进制文件,它运行速度和C一样快?
使用System.Net.WebClient.DownloadData()方法时,我的响应时间非常慢.
在.NET中使用WebClient类获取URL时,在获得响应之前大约需要10秒,而我的浏览器在1秒内获取同一页面.这是因为数据大小为0.5kB或更小.
请求涉及POST/GET参数和用户代理标头(如果可能导致问题).
我还没有尝试过在.NET中下载数据的其他方法给我带来同样的问题,但我怀疑我可能得到类似的结果.(我一直觉得.NET中的Web请求非常慢......)
可能是什么原因造成的?
编辑:
我尝试System.Net.HttpWebRequest使用以下方法完成相应的操作,并且所有请求都在1秒内完成.
public static string DownloadText(string url)
var request = (HttpWebRequest)WebRequest.Create(url);
var response = (HttpWebResponse)request.GetResponse();
using (var reader = new StreamReader(response.GetResponseStream()))
{
return reader.ReadToEnd();
}
}
Run Code Online (Sandbox Code Playgroud)
虽然这个(旧)方法使用System.Net.WebClient每个请求完成需要15-30秒:
public static string DownloadText(string url)
{
var client = new WebClient();
byte[] data = client.DownloadData(url);
return client.Encoding.GetString(data);
}
Run Code Online (Sandbox Code Playgroud) 去年,在作为WAMP堆栈的长期用户之后,我转而使用Vagrant上的Homestead.对于非Laravel开发项目,我需要使用Apache Server.我知道可以在Homestead上安装Apache服务器,然后为每个站点添加虚拟主机,但这似乎有点不切实际.Homestead.yaml文件中的站点与Nginx一起使用,但似乎不适用于Apache.
我的问题是:
在这些事情上,我有点像菜鸟.任何帮助是极大的赞赏!
我有一份链表清单.
List<LinkedList<File1>> lists =
Collections.synchronizedList(new ArrayList<LinkedList<File1>>());
Run Code Online (Sandbox Code Playgroud)
每个链表包含File1类型的对象.
class File1
{
int dist,nod;
}
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮我根据dist对元素进行排序.
我想过使用collections.sort()但是在这种情况下不能使用它,所以有人能提出更好的建议吗?