2016-03-25 15 views
0

Ich mache etwas wie, der Benutzer wird jede URL eingeben und der Text wird erhalten.Effizientes Zählen jedes Vorkommens jedes Wortes von einer URL

Der Text wird dann analysiert und die Wörter werden gezählt.

ich gerade diesen Artikel lesen von Microsoft: https://msdn.microsoft.com/en-us/library/bb546166.aspx

ich jetzt den Text bekommen und ich versuche zur Zeit eine effiziente Art und Weise zu denken, alle Wörter zu zählen.

Der Artikel Beispiel benötigt eine Suche Daten, aber ich muss jedes Wort und kein bestimmtes Wort suchen. Hier

ist, was ich denke:

  1. den Text bekommen und wandelt es in String
  2. ihnen aufgeteilt (Trennzeichen) und Speicher in Array
  3. Schleife durch das Array dann alle Vorkommen es überprüfen .

wäre dies effizient?

+0

ooo in Ordnung dank –

+0

a Nehmen schau dir RegEx an. Dies kann die gesamte Seite in einem Anruf durchsuchen. –

+0

Warum ist * Effizienz * sogar wichtig? Machst du das Milliarden Mal pro Sekunde? –

Antwort

1

Linq Mit

Wenn Sie eine kleine Menge von Daten kann nur auf Räume eine Spaltung tun, und erstellen Sie eine Gruppe

var theString = MethodToGetStringFromUrl(urlString); 

var wordCount = theString 
        .Split(' ') 
        .GroupBy(a=>a) 
        .Select(a=>new { word = a.Key , Count = a.Count() }); 

fiddle sehen für mehr eine Arbeitskopie

Einige Experimente und Ergebnisse

Messe d um in .net Geige ein wenig und mit regexs tatsächlich die Leistung verringert und erhöht die verwendete Menge des Speichers here sehen, um zu sehen, was ich über

Andere alternative

spreche Weil Sie die Anfrage bekommen von einer URL könnte es performanter sein innerhalb des Stroms zu suchen, bevor es in einen String und dann Durchführen der Suche

Sie nicht optimieren, wenn Sie brauchen, um Umwandlung Warum wollen Sie eine performante Art und Weise zu finden, müssen Zählen das? Haben Sie laufen in Probleme oder einfach nur denken Sie so wollen, eine gute Faustregel ist in der Regel nicht zu vorzeitig optimize, um weitere Informationen zu dieser gute Frage Besuche zum Thema: When is optimisation premature?

Verwandte Themen