Geschwindigkeitsprobleme

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
Mr.Green
User
Beiträge: 10
Registriert: Sonntag 6. November 2016, 09:29

Hallo
Ich beschäftige mich seit kurzem mit Python und möchte meine Satistikaufgaben damit lösen.

Jetzt habe ich aber das Problem, dass alleine dieses 4 Zeilen zum compiliere (ausführen?) bereits 10 Minuten arbeitet und ich immer noch kein Ergebnis habe.

Code: Alles auswählen

import sympy as sy
p = sy.S('x')
f = sy.integrate(p**346*(1-p)**657,(p,0,1)).evalf()
print(f)
Gebe ich dasselbe Programm in die Interaktive Konsole (auch Python) ein brauch es zwar auch ca eine halbe Minute jedoch habe ich dann ein Ergebnis...
Ist das normal, dass Python so lange benötigt? Kann ich es irgendwie beschleunigen... mit diesen großen Wartezeiten kann ich irgendwie nichts anfangen. Besonders wenn ich sehe, dass andere Leute ihr Programm innerhalb 5 Sekunden compilieren und Ergebnisse haben.
Als letzte Frage, warum dauert es in dem einen Fall so lange und in der Konsole nicht einmal annähernd so lange.

Mfg Christoph :)

Ps: Ich verwende Microsoft Visual Studio und dazu das Paket Anaconda.
Zuletzt geändert von Anonymous am Sonntag 6. November 2016, 11:19, insgesamt 1-mal geändert.
Grund: Quelltext in Python-Codebox-Tags gesetzt.
BlackJack

@Mr.Green: Kompilieren geht schnell, das sind ja nur ein paar wenige Operationen. Und das ausführen dauert bei mir nicht lange:

Code: Alles auswählen

In [8]: %time sy.integrate(p**346*(1-p)**657,(p,0,1)).evalf()
CPU times: user 1.3 s, sys: 4 ms, total: 1.3 s
Wall time: 1.31 s
Out[8]: 8.53281351196598e-283
Also unter zwei Sekunden. Warum das bei Dir mehrere Minuten dauert, kann ich mir nicht erklären.

Edit: Mal auf einem ”langsamen” Rechner (Raspi 2):

Code: Alles auswählen

In [5]: %time sy.integrate(p**346*(1-p)**657,(p,0,1)).evalf()
CPU times: user 25.3 s, sys: 60 ms, total: 25.4 s
Wall time: 25.5 s
Out[5]: 8.53281351196598e-283
Auch hier unter einer halben Minute.
Mr.Green
User
Beiträge: 10
Registriert: Sonntag 6. November 2016, 09:29

Dann vermute ich mal, dass es am Compiler liegt? Bzw. an den Einstellungen...
Mit was kompilierst du? Bzw. auf was für einer Oberfläche schreibst du am liebsten Python-Programme?

Danke für die Antwort und das Ausprobieren :)
Mfg Mr.Green
BlackJack

@Mr.Green: Es gibt ja bei Python normalerweise keinen separaten Compiler und keinen separaten Kompilierungsschritt. Ich verwende einfach CPython, also die Referenzimplementation von python.org. Die auch Anaconda verwendet soviel ich weiss. In diesem Fall das aktuelle Python 2.7, aber beim aktuellen Python 3 sollte das nicht signifikant anders aussehen. Und auch in der Pythonshell vs. als Programm ausgeführt darf das keine *Minuten* an Laufzeitunterschied machen. Das ist *sehr* eigenartig.

Ich schreibe Python am liebsten in einem Texteditor.
Mr.Green
User
Beiträge: 10
Registriert: Sonntag 6. November 2016, 09:29

Ok
Vielleicht liegt es daran, dass mein "Pc" welcher bei mir mittlerweile alleinig im Einsatz ist in Wirklichkeit ein 2 in 1 Notebook ist. Ich hab zwar auch mathematica und matcad darauf laufen aber vielleicht kommt Python damit nicht zurande... was mich trotzdem irgendwie wundern würde.
Hersteller: ASUSTek Computer Inc.
Modell: T100HAN
Prozessort: Intel(R) Atom(TM) x5-Z8500 CPU @ 1.44GHz 1.4GHz
Installierter Arbeitsspeicher(RAM): 4,00 GB
Systemtyp: 64-Bit-Betriebssystem, x64-pasierter Prozessor
Stift- und Toucheingabe: Unterstützung der Toucheingabe mi 10 Touchpunkten
Windows-Edition: Windows 10 Home

Mfg Mr.Green
BlackJack

@Mr.Green: Egal was für ein Rechner das ist, es dürfte keinen so massiven Unterschied zwischen interaktiv und als Programm ausgeführt geben. Und der Raspi ist schwächer als Dein Rechner würde ich sagen, und der braucht ja auch nicht 10 oder mehr Minuten.
Mr.Green
User
Beiträge: 10
Registriert: Sonntag 6. November 2016, 09:29

Hm. Stimmt auch wieder.
Ich werde mich in den folgenden Tagen einfach weiter damit beschäftigen.
Sollte ich auf eine Erklärung/Lösung stoßen melde ich mich.

Danke für die Hilfe :)
Mfg Mr.Green
Mr.Green
User
Beiträge: 10
Registriert: Sonntag 6. November 2016, 09:29

Habe noch ein wenig nachgeforscht aber keine schönen Ergebnisse gefunden. Bei Anderen gab es scheinbar Zeitprobleme durch den Windows-Defender. Habe ihn dann deaktiviert, bin mir bar nicht sicher ob er eine Zeitersparnis gebracht hat, könnte im Bereich von 10 Sekunden liegen, hat aber mein Problem von den 10 oder mehr Minuten nicht gelöst. Jetzt bin ich umgestiegen auf Spyder. Habe jetzt keine Zeitprobleme mehr, hing bei mir also mit der Kombination Visual Studio 2015 und Python zusammen... oder vielleicht auch nur Visual Studio.
Danke nochmal für die Hilfe
LG Christoph
BlackJack

@Mr.Green: Wenn Du VS durch Spyder ersetzt hast, und ansonsten alles gleich geblieben ist, dann muss es ja irgendwie an VS gelegen haben. Wobei ich das eigenartig finde…
Antworten