Ich habe eine Datei (10-20 MB) mit Daten, wobei jede Zeile ein einziges Stück Daten ist.Lesen von Daten aus Dateisystem vs Kompilieren der Daten direkt in Programm
Ich habe ein C-Programm, das liest die Datei aus dem Dateisystem, und dann auf der Kommandozeile Eingang liest es jede Zeile der Datei, eine Berechnung für jede Zeile, um festzustellen, ob diese Zeile zurückgegeben werden soll, und dann eine Teilmenge der Daten zurückgeben.
Nehmen Sie an, dass das Programm einen fread ausführt und die gesamte Datei am Anfang in den Speicher liest und dann direkt aus dem Speicher analysiert.
Würde das Programm schneller ausgeführt, wenn ich, anstatt es aus dem Dateisystem zu lesen, die Daten direkt in das Programm kompiliert habe, indem ich ein Array wie das folgende erstellt habe?
char *dataArray[] = {"data1", "data2", "data3"....};
Da das O benötigt die gesamte binäre aus dem Dateisystem, mein Bauchgefühl ist, dass die Ausführungszeit beiden Techniken wären ähnlich, das Bit hohe Ordnung aus dem Dateisystem, da das Lesen wäre zu lesen. Aber hätte jemand mehr definitive Ideen dazu?
Ja, es wäre wahrscheinlich ein wenig schneller kompiliert in. – Ryan
Die andere Sache zu prüfen ist, ob jemand diese Datendatei aktualisieren muss oder nicht (und wie schlecht das Programm brechen kann, wenn die Datei fehlerhaft ist oder fehlt) . – Thilo