Не зная, что такое самозаписываемый парсер, невозможно дать количественный ответ на ваш вопрос. Тем не менее, вы может быть в состоянии написать синтаксический анализатор, который является быстрее, чем HTTPWebRequest
, если (например):
- Ваш ответ будет всегда содержать только определенный набор заголовков
- заголовки будут только когда-либо будут возвращены в определенном порядке
- Ваш запрос будет только когда-либо перейти на один пункт назначения
- Любые другие ограничения, которые можно использовать для ограничения обработки, которая будет выполняться на ответ
Если вы можете ограничить сценарий, вы можете быть в состоянии превзойти HTTPWebRequest
, как он должен быть в состоянии обрабатывать любойдействительный ответ, в то время как пользовательский анализатор должен только быть в состоянии обрабатывать сценарии это ожидает. Тем не менее, имейте в виду, что то, что вы пишете, не будет истинным HTTP-парсером ответа, а скорее тем, что обрабатывает строгий поднабор допустимых ответов.
Единственный способ узнать, есть ли какие-либо накладные расходы, которых вы можете избежать, - написать собственный (подмножественно) синтаксический анализатор и сравнить его производительность с встроенным.
Я не могу думать, что вы можете считать правильным ответом. Он имеет функции, они могут или не совпадать с тем, что вам нужно. Он имеет производительность, которая может или не может соответствовать тому, что вам нужно. Вы хотите, чтобы кто-то прокомментировал вас? –
@Kieren Johnstone: Нет, я не хочу, чтобы кто-то прокомментировал меня. Я пытаюсь побудить кого-то, кто уже сделал профилирование в прошлом, поделиться своими результатами. Если никто не отвечает, я могу легко удалить вопрос в будущем. Спасибо за downvote в любом случае – citronas
Для уточнения: я сам не написал парсер, мне было просто любопытно, есть ли известные проблемы скорости с классом HTTPWebRequest – citronas