c # .net4 - pack d'agilité regex vs html

c# html-agility-pack memory regex

Question

Quoi de plus rapide? Je viens de créer un grattoir Web utilisant le pack HTML Agility, qui consomme énormément de mémoire.

En le profilant avec un profileur de mémoire, j'ai constaté que les instances HTMLDocument, HTMLNode, etc. occupent la plus grande quantité de mémoire.

J'ai l'impression qu'il serait peut-être plus rapide et plus efficace d'utiliser regex, est-ce que je me trompe?

Réponse acceptée

Un reg-ex sera beaucoup plus rapide que html agilty pack.

Mais vous devez vous rappeler que le langage HTML ne doit pas toujours être bien formé. La recherche des données correctes que vous souhaitez utiliser uniquement avec reg-ex peut échouer. Les navigateurs pardonnent très bien les erreurs.

Le pack d'agilité est un excellent outil. Il fournit de nombreuses fonctionnalités pour la mémoire qu'il consomme.


Réponse populaire

En fonction de ce que vous faites exactement, il pourrait être possible d'accélérer les choses et de libérer un peu de mémoire en utilisant regex. La question est la suivante: quelle est la rigidité et la qualité des pages extraites des données? Regex est beaucoup plus facilement confondu par des constructions HTML parfaitement valides, mais inattendues, que vous pourriez rencontrer à l’état sauvage.




Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi