c # .net4 - regex vs html agility pack

c# html-agility-pack memory regex

Domanda

Cos'è più veloce? Ho appena creato un raschietto web che utilizza il pacchetto HTML Agility e sta consumando enormi quantità di memoria.

Analizzandolo con un profiler di memoria, ho scoperto che le istanze HTMLDocument, HTMLNode, ecc. Occupano la maggior parte della memoria.

Mi sento come se sarebbe più veloce e più efficiente da usare regex, mi sbaglio?

Risposta accettata

Un reg-ex sarà molto più veloce del pacchetto html agilty.

Ma dovresti ricordare che l'html non deve essere sempre ben formato. La ricerca dei dati corretti che si desidera utilizzare solo reg-ex potrebbe non riuscire. I browser sono molto permissivi per gli errori.

Il pacchetto Agility è un ottimo strumento. Fornisce molte funzionalità per quella memoria che sta consumando.


Risposta popolare

A seconda di cosa si fa esattamente, potrebbe essere possibile accelerare le cose e liberare alcuni mem usando regex. La domanda è: quanto sono rigide e ben formate le pagine da cui stai estraendo i dati. Regex è molto più facilmente confuso da costrutti HTML perfettamente validi, ma inaspettati, che potresti incontrare in natura.



Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché
Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché