Selber schreiben oder Library laden?

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.
Antworten
mutetella
User
Beiträge: 1695
Registriert: Donnerstag 5. März 2009, 17:10
Kontaktdaten:

Hallo,

mein Progrämmchen braucht von Tag zu Tag neue Funktionen... Nachdem es ja für Python viele Module für allerlei Zwecke bereits fertig gibt, stellt sich mir vor dem Hintergrund der Geschwindigkeit eines Programmes die Frage, ob man mit 'import ...' eher sparsam umgehen sollte bzw. ab wann (ab wievielen imports) die Performance leidet?

Dabei geht es mir nicht nur um die Geschwindigkeit des Programmstarts, sondern auch darum, ob geladene Module während der Programmausführung Nachteile haben.

Bin mal gespannt, was es dazu für Meinungen gibt.

Gruß
mutetella
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Nein das wirkt sich nur dann aus, wenn du importierst, ergo nur beim Programmstart.

Was der Unterschied sein soll, wenn du selbstgeschriebene oder fremde Libs importierst, erschliesst sich mir aber nicht wirklich ...
mutetella
User
Beiträge: 1695
Registriert: Donnerstag 5. März 2009, 17:10
Kontaktdaten:

Was der Unterschied sein soll, wenn du selbstgeschriebene oder fremde Libs importierst, erschliesst sich mir aber nicht wirklich ...
Konkret geht es mir darum: Ich brauche für mein Programm 3 Funktionen, die mir Datumsberechnungen durchführen. Das Python Modul 'calendar' bietet eigentich genau, was ich brauche, benötigt selbst aber wiederum für die meisten Funktionen noch zusätzlich das 'datetime'-Modul.
Jetzt stellte sich mir halt die Frage, ob es irgendwie einen Nachteil haben könnte, wenn ich wegen momentan nur 3 Funktionen das komplette 'calendar'-Modul importiere ('datetime' brauche ich in jedem Fall, auch wenn ich die 3 Funktionen selbst schreibe).
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Hallo.

Bist du überhaupt mal in einen Bereich geraten, in dem die Performance nicht mehr ausgereicht hat? Wenn man nicht von vorne herein weiß, dass man diese Probleme bekommen wird, dann macht man sich darüber erst Gedanken, wenn man so weit ist.
Das Leben ist wie ein Tennisball.
mutetella
User
Beiträge: 1695
Registriert: Donnerstag 5. März 2009, 17:10
Kontaktdaten:

Bist du überhaupt mal in einen Bereich geraten, in dem die Performance nicht mehr ausgereicht hat?
Ja, jeden morgen! Tag für Tag!

Du hast ja Recht, ich neige dazu, mir zu viele "wäre-es-nicht-besser-wenn"-Gedanken zu machen. Kommt natürlich auch daher, dass ich so viele Zusammenhänge in Python bzw. beim Schreiben eines Programms noch nicht kenne.

:?

Gruß
mutetella
Benutzeravatar
Defnull
User
Beiträge: 778
Registriert: Donnerstag 18. Juni 2009, 22:09
Wohnort: Göttingen
Kontaktdaten:

Code: Alles auswählen

>>> def test():
...   t1 = time.time()
...   import calendar
...   t2 = time.time()
...   return t2-t1
... 
>>> import time
>>> test()
0.088544130325317383
>>> test()
1.7881393432617188e-05
Imports kosten nur ein einziges mal Zeit, und selbst das ist vernachlässigbar. Dafür bekommst du funktionierende, geprüfte, getestete und robuste Bibliotheken und sparst dir Stunden an Entwicklungszeit und Fehlersuche.
Bottle: Micro Web Framework + Development Blog
mutetella
User
Beiträge: 1695
Registriert: Donnerstag 5. März 2009, 17:10
Kontaktdaten:

@Defnull:

Danke, genau das wollte ich hören... :D
Antworten