Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
def test_has_key():
"""Stupid test function"""
d = {"abc": 1}
for i in xrange(10):
d.has_key("abc")
d.has_key("nein")
def test_in():
"""Stupid test function"""
d = {"abc": 1}
for i in xrange(10):
"abc" in d
"nein" in d
if __name__ == '__main__':
from timeit import Timer
t = Timer("test_has_key()", "from __main__ import test_has_key")
print "has_key:", t.timeit()
t = Timer("test_in()", "from __main__ import test_in")
print "in:", t.timeit()
Bin mir nicht sicher, ob eine Datenbank wirklich schneller ist. Wenn es darum geht, das man eine Zeile immer in Relation zur vorherigen analysiert. Wo soll da eine Datenbank das ganze beschleunigen?
Warum werden eigentlich die Zeilen per ctypes aufgebröselt? Wie sehen die denn wirklich aus? Tut's auch eine einfaches line.split(" ") ?
def test_has_key():
"""Stupid test function"""
d = {"abc": 1}
for i in xrange(10):
d.has_key("abc")
d.has_key("nein")
def test_in():
"""Stupid test function"""
d = {"abc": 1}
for i in xrange(10):
"abc" in d
"nein" in d
if __name__ == '__main__':
from timeit import Timer
t = Timer("test_has_key()", "from __main__ import test_has_key")
print "has_key:", t.timeit()
t = Timer("test_in()", "from __main__ import test_in")
print "in:", t.timeit()
Bin mir nicht sicher, ob eine Datenbank wirklich schneller ist. Wenn es darum geht, das man eine Zeile immer in Relation zur vorherigen analysiert. Wo soll da eine Datenbank das ganze beschleunigen?
Warum werden eigentlich die Zeilen per ctypes aufgebröselt? Wie sehen die denn wirklich aus? Tut's auch eine einfaches line.split(" ") ?
ctypes verwende ich aufgrund der Datentypenumwandlung. Die Zeitstempel benötige ich als int, damit ich sie gleich zur Differenz verwenden kann und keine Datentypkonvertierung in Python vornehmen muss. Eine Zeile sieht so aus wie ich es im letzten Kommentar geschrieben habe. line.split(" "), würde in den meisten Fällen gehen jedoch gibt es auch einige Ausnahmefälle. Außerdem habe ich beides probiert und ctypes war bei mir deutlich schneller.
jens hat geschrieben:
Bin mir nicht sicher, ob eine Datenbank wirklich schneller ist. Wenn es darum geht, das man eine Zeile immer in Relation zur vorherigen analysiert. Wo soll da eine Datenbank das ganze beschleunigen?
Datenbank war sehr weit gemeint, gar nicht speziell SQL. Aber wenn es um Beschleunigung durch parallelisierung geht, dann geht das nunmal nur mit multi-process, und damit brauchst du einen externen Service, der dir sagt, ob eine bestimmte Zeile vorhanden ist, was ihre Werte sind usw. Das kann auch nur ein einziger Prozess sein, der diese Frage beantwortet, zB der Parent. Aber irgendsowas braucht man.
Eine Alternative wäre u. U. auch Umschreiben in hf5 und der Gebrauch von PyTables. Von der bisher beschriebenen Datenstruktur her *könnte* das sinnvoll sein.
Nur: Können wir weiter spekulieren ohne Code zu sehen?
jbs hat geschrieben:Was mich interessieren würde: Ob eine pure PyPy-Anwendung nicht schneller wäre.
Hi jbs,
Ich habe mir gerade mal Pypy angeschaut und installiert. Aber mein Programm hat eine GUI basierend auf dem wxPython Wrapper, mit der neuesten PyPy version sollte das doch aber eigentlich möglich sein. ("Pypy 1.5 supports C-Code")
Gibt es da irgendein Installer/Package für pypy, das ich bisher noch nicht gefunden habe? Bisher bekomme ich die Fehlermeldung "No module named wx".