Login
Newsletter
Werbung

Thema: PyPy v5.9 unterstützt NumPy und Pandas

4 Kommentar(e) || Alle anzeigen ||  RSS
Kommentare von Lesern spiegeln nicht unbedingt die Meinung der Redaktion wider.
0
Von sdadasdassa am Fr, 6. Oktober 2017 um 14:41 #

> Ich benutze übrigens Python, weil ich damit meine numerischen Berechnungsprobleme zwischen 50 und 2000 mal schneller löse, als mit C.

Poste mal den Code dann werden wir sehen wo dein Fehler ist :-) Exakt aus diesem Grund habe ich nur öffentlich anekannte Benchmarks zitiert und nicht persönliche Meinungen.

[
| Versenden | Drucken ]
  • 1
    Von homer am Fr, 6. Oktober 2017 um 15:08 #

    nur damit wir uns richtig verstehen: Mir ist es relativ schnuppe, wie schnell der Code auf der CPU ausgeführt wird. Der Flaschenhals ist das Programmieren selbst. Beispiel: Eine nicht-lineare "Least-Squares Minimization" mit anschließendem Kurven-Fitting ist mit wenigen Zeilen Python-Code erledigt. Wenn das Fitting eines Datensatzes dann statt 0.001 Sekunden (mit C) 0.2 Sekunden (mit Python) dauert - who cares. Rechenzeit ist im Vergleich zu Progammierzeit viel billiger. (Ja, ich weiss: Für Number-Crunching und Big Data gilt das nicht.)

    [
    | Versenden | Drucken ]
    • 0
      Von sbsjsjsjs am Fr, 6. Oktober 2017 um 16:03 #

      > Mir ist es relativ schnuppe

      So sieht es nämlich aus. Was auch okay ist. Es hätte sich keiner beschwert, wenn du es gleich so geschrieben hättest.

      Man muss dazu sagen, ein Kurvenfit ein schlechtes Beispiel ist da es so gut wie in jeder Sprache implementiert und mit wenigen Zeilen erledigt ist. Nicht nur in Python. Das liegt aber eher daran, es konvexe Optimierung ist und einen einfachen Sonderfall darstellt. Es verwendet dennoch Matrizenmultiplikationen und ist per Definition O(n^3). Selbst mit Sparse Matrizen O(nnz) . Das heißt deine Aussage ist nur für einen kleinen Datensatz gültig. Bei größeren Datensätzen ist LSQ ohnehin nicht brauchbar.

      [
      | Versenden | Drucken ]
      • 0
        Von homer am Fr, 6. Oktober 2017 um 17:05 #

        ja, das ist richtig. Bei großen Datensätzen und nicht-linearen numerischen Problemen spielen Code-Optimierung eine große Rolle. Man braucht nur mal den Unterschied von numpy und numpy-mkl (mit Intel Math Kernel Library) ausprobieren.
        Rechenintensive Anwendungen (z.B. Finite-Elemente-Methode) nutzen neben C übrigens auch die Fortran NAG Library. Niemand käme auf die Idee, den Rechenkern eines FEM-Programms in Python oder Java zu programmieren. Gleichwohl habe alle professionellen FEM-Programme eine Python-Schnittstelle. Eben aus dem Grund: Der User ist i.d.R. kein Software-Programmierer und benötigt eine einfache Möglichkeit, mal schnell in ein Post Processing oder eine automatische Parameter-Variation für hunderte von FE-Rechnungen durchzuführen. Ein paar Zeilen Python-Code erledigen das. Vielleicht kann das in C viel besser erledigt werden, nützt aber nichts, wenn der User kein C kann.
        Ein Ingenieur kann vielleicht nicht C-Programmieren, er weiss aber was "viel" bedeutet :-)

        [
        | Versenden | Drucken ]
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung