Thread Zeile x _schnell_ aus riesigem file raussuchen ? (19 answers)
Opened by Student87 at 2013-02-19 12:50

Student87
 2013-02-19 14:21
#165894 #165894
User since
2012-11-08
73 Artikel
BenutzerIn
[default_avatar]
Wow, der filepointer ist ja sauschnell. Das funktioniert sehr gut, danke pq!

Ja, jede Zeile enthält nur einen Buchstaben (A/T/G/C/N/M).
Schätze mal von diesen Buchstaben nimmt jeder nur einen Byte (Im Test hab ich jedenfalls so gerechnet), so dass jede Zeile aus 2 Bytes besteht (Buchstabe + Zeilenumbruch) - d.h. ich kann die seek-position für Zeile x errechnen über (x - 1) * 2

Damit sind die beiden 250 Mio Zeilen Listen schonmal kein Problem mehr.

Die dritte Liste enthält aber unregelmäßige Bytezahlen pro Zeile.

Ich hab mittlerweile das Tie-Modul gefunden. Damit scheint man wohl auf files wie auf Arrays zugreifen zu können, ohne dass die files in den Arbeitsspeicher geladen werden müssen. Ist dieses Modul schneller/langsamer/gleich schnell wie/als seek()?
Weil selbst wenn ich das Modul für die dritte Liste verwende: für die ersten beiden Listen (Wo ich die Bytezahl pro Zeile kenne) könnte ich trotzdem seek benutzen, oder tun sich die beiden Lösungen nichts?

EDIT:
Gut also nach Möglichkeit read, ansonsten tie.
Danke!
Last edited: 2013-02-19 14:36:24 +0100 (CET)

View full thread Zeile x _schnell_ aus riesigem file raussuchen ?