2009-06-23 7 views
0

Ich arbeite an Quellcodeanalyse des Linux-Kernels alle 2.6-Versionen unter Berücksichtigung ...Welche Lösung für große Ergebnisse?

ich Ergebnisse für jede Datei erstellt und für jede Version des Kernels ...

sammeln So weit, ich benutze ein Ad-hoc-Format und dann analysiere ich die Daten mit einem kleinen Python-Skript (eine typische Ergebnisdatei ist etwa 300 MB) ...

Eine Ad-hoc-ist aber nicht wirklich bequem, weil es ist schwierig, die Daten zu interpretieren, und nicht wirklich flexibel, da, sobald Sie das Format ändern, Ihr Interpretationsskript auch geändert werden muss ...

Ich möchte etwas, das sich leicht entwickeln kann und aus dem ich leicht einige Informationen extrahieren kann ...

Welche Lösung ist die beste in meinem Fall, um die Ergebnisse darzustellen?

  • Ad-hoc-Format?
  • XML?
  • Datenbank? (Wenn ja, welche Engine?)
  • Google AppEngine?

PS: Ich benutze Java 1.5.

+2

Zunächst einmal. Stoppen Sie für eine Weile. Atmen Sie tief durch und schreiben Sie die Frage erneut. Ich sehe hier keine Frage, ich weiß, dass darunter eine Frage steht, aber ich verstehe sie einfach nicht. – OscarRyz

+0

In jedem Fall, sei es XML, Datenbank, was, wenn Sie das Format ändern (z. B. Hinzufügen einer anderen Spalte in einer DB-Tabelle) müssten Sie das Interpretations-Skript anpassen. Darstellen von Daten mit XML kodiert kann sehr ausführlich und selbsterklärend sein, aber Sie müssten natürlich wissen, was die XML-Daten bedeuten, ein XML-Parser bringt Sie nur so weit. (und mit XML kommt Overhead, in der Regel in großen Mengen). Wenn Sie immer die Daten in Python interpretieren; Ausgabe von Python-Datenstrukturen !. Das Skript benötigt kein Parsing, das Parsen von Python-Datenstrukturen ist in einer anderen Sprache nicht so schwierig. – nos

Antwort

0

Ich denke, der erste Kommentar von Oscar ist nicht so schlecht. Vielleicht sollten Sie Ihr Format und die Art der Analyse überdenken. Ich habe auch mehrere Ad-hoc-Formate geschrieben, um Daten zu analysieren, nur um zu erkennen, dass eine andere Datenstruktur (in meinem Fall ein einfacher Binärbaum) die gleiche Aufgabe in Sekunden anstatt in Minuten erledigen kann. Die meiste Zeit ist eine Datenbank die beste Lösung und für ein einfaches altes Java-Programm können Sie hsqldb als die bequemste Lösung betrachten.