在重复GET请求时,我是否应该增加缓冲区大小以提高性能?

时间:2012-01-20 23:46:18

标签: c# http stream httpwebresponse

我正在用C#编写一个.NET程序,它使GET请求和下载页面解析 - 一种爬虫。我注意到它必须多次从流中读取才能下载每个页面,因为每个页面都很大。

目前我已将流缓冲区大小设置为5024字节。我的问题是,增加此大小并因此执行更少的流读取会更有效吗?或者,一次处理较少的数据是否更好?

基本上措辞不同 - 一次解析更多数据更快,不得不经常调用stream.read,反之亦然?

谢谢!

1 个答案:

答案 0 :(得分:0)

通常,增加缓冲区的大小并一次装入更多数据会增加操作速度,但性能提升最多也是最小的。我认为你要尝试的是异步请求。就像是 this。这允许应用程序使用线程池同时从套接字或多个套接字读取,然后仅在有某些东西要处理时才对流进行处理。当数据被拉入缓冲区时,这会释放应用程序以执行其他操作。