我想知道,HTTPWebRequest与HTTP-Response的自编解析器相比有多快。
我知道HTTPWebRequest类能够使用具有流水线操作的持久TCP连接(默认情况下启用流水线操作)。也可以设置缓存和压缩的值。
响应的解析可能永远不是瓶颈,但仅仅是因为我的好奇心:HTTPWebRequest类是否会产生“不必要的”开销?
答案 0 :(得分:2)
如果不知道自编解析器是什么,就不可能给出问题的量化答案。也就是说,可能能够编写 的解析器,而不是HTTPWebRequest
,如果(例如):
如果您可以限制该方案,您可以胜过HTTPWebRequest
,因为它必须能够处理任何 有效响应,而自定义解析器必须只能处理它期望的场景。也就是说,请记住,您所编写的内容不会是真正的 HTTP响应解析器,而是处理严格的有效响应子集。
唯一可以判断是否存在可以避免的开销的方法是编写自己的(子集)解析器并将其性能与内置解析器的性能进行比较。
答案 1 :(得分:1)
我没有得出结论,但我相信这类问题应该以实际情况为动机。例如,HttpWebRequest类是否会减慢您的解决方案?您是否使用某个分析器检查了其性能影响?
毕竟,关于优化的这类问题有一个众所周知的句子:过早优化是任何软件开发的魔鬼。我最好的建议是你应该关注其他事情,使用一个好的分析器并找出你的程序在哪里遇到性能问题(我确定HttpWebRequest不会出现问题!)。