Python Skript mit API anfragen auf server laufen lassen?

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.
Serpens66
User
Beiträge: 259
Registriert: Montag 15. Dezember 2014, 00:31

Hi,

ich habe ein Python 3.4 skript, welches alle paar Sekunden via API von Webseiten Daten abfragt, sie auswertet und die ergebnisse in eine txt Datei schreibt.
Dies läuft aktuell auf einem einfachen Raspberry Pi 1.

Leider ist der Pi viel zu langsam. Auf meinem Windows Rechner läuft das ganze ca. um den Faktor 4-6 schneller, aber den kann ich nicht 24h am Tag laufen lassen. Nicht nur die API anfragen selbst, sondern auch einige for schleifen, welche sehr viele Elemente durchgehen, dauern auf dem Pi zu lange. (dabei laufen einige API anfragen in Threads simultan, aber die for schleifen laufen alle nacheinander)

Deswegen nun mein Gedanke, das Skript stattdessen auf einem Cloud-server oder ähnlichem zu betreiben. Doch leider kenne ich mich diesbezüglich nicht aus.
Soweit ich mich jetzt schlau gemacht habe, muesste ich auf einem Standard Cloudserver erst Python installieren? Evlt auch ein kleines betriebssystem? Oder wie habe ich mir das vorzustellen?
Ich bin bei meiner suche auch über https://www.pythonanywhere.com/pricing/ gestolptert, aber durch die Beschränkungen ist es vermutlich nicht dafür geeignet, API anfragen zu machen, oder?

Nun ist meine Frage, welchen Cloud-server oder ähnliche Seiten ihr dafür empfehlen könntet, und evlt gleich dazu noch Tutorials, wie dann die Einrichtung auf so einem Server funktioniert.
Da ich fuer die API anfragen auch spezielle Secrets via POST mitgeben muss, wäre es auch gut, wenn nicht jeder problemlos auf meine Skripte zugreifen kann. Am besten ähnlich wie jetzt mit dem Pi, dass man z.b nur aus meinem Heimnetz Zugriff via Passwort hat?

Alternativ käme vllt noch der Raspberry PI 2 in frage ? Ist dieser merklich schneller als der Pi 1, was bearbeitung von for schleifen und API anfragen betrifft? Oder kann ich das vergessen?
Benutzeravatar
sparrow
User
Beiträge: 4187
Registriert: Freitag 17. April 2009, 10:28

1. Der Raspberry Pi 1 hat exakt 1 Prozessorkern. Abgesehen davon, dass Python eh den GIL hat, kann er also tatsächlich gar nichts simultan ausführen. Er könnte die Prozessorzeit des einen Kerns natürlich aufteilen. Simultan läuft dann aber nichts.

2. Was ist denn ein Cloud-Server? Python ist Bestandteil jeder halbwegs bekannten Linux-Distribution. Die entsprechenden Server gibt es für kleines Geld zu mieten. Allerdings muss man dann auch ein komplettes Linux administrieren und sichern können.

3. Die Spezifkationen des Raspberry Pi 2 Model B sind im Internet verfügbar. Ohne dein Programm und dein Problem (Flaschenhals) zu kennen, kann dir niemand sagen ob mehr Speicher und 4 Prozessorkerne dir helfen.
Serpens66
User
Beiträge: 259
Registriert: Montag 15. Dezember 2014, 00:31

danke fuer deine antwort.

Ja ich kenne mich nicht gut aus, deswegen frage ich ja ;)
Dass ein Pi 1 nichts simultan machen kann, wusste icht nicht, erklärt aber natürlich, warum dieser Teil länger dauert als von mir erhofft. Da der Pi2 aber 4 Prozessorkerne hat wie du schreibst, könnte dieser es? (da ich diesen Zusammenhang nicht kannte, bringt es mir auch nichts die Spezifikationen zu googeln, deswegen die Frage hier ;) )

edit: Als "mehrere Threads" mache ich das hier: http://www.python-forum.de/viewtopic.ph ... 69#p269969

Kümmern wir uns im Folgenden erstmal um reine for schleifen, welche nacheinander jedes Element einer langen Liste und verschiedenen Dictionaries durchgehen. Wenn ich so einen reinen Durchlaufprozess beschleunigen möchte, auf welche Leistung kommt es dann an ?

Um die Thread problematik kümmern wir uns denke ich erstmal zweitranging, ich bitte um beantwortung der Frage, wie ich einen reinen for schleifen Prozess beschelunigen kann.
BlackJack

@Serpens66: So ganz allgemein kann man da eigentlich nur sagen: Schnellerer Prozessor. Und man sollte genug Arbeitsspeicher haben damit nicht ausgelagert werden muss. Das gilt allgemein, aber beim Raspi im besonderen weil dort der Hintergrundspeicher auf den ausgelagert wird die SD-Karte ist und die ist dann noch mal um einige Grössenordungen langsamer als es eine normaler Festplatte wäre.
Benutzeravatar
sparrow
User
Beiträge: 4187
Registriert: Freitag 17. April 2009, 10:28

Die Speicherkarte könnte übrigens auch dein Bottlneck sein.
Wenn du, wie du hier schreibst, alle paar Sekunden etwas auf die Karte schreibt, kann das natürlich auch entsprechend lange dauern.
Und förderlich für die Haltbarkeit der Karte ist das natürlich auch nicht :wink:
Serpens66
User
Beiträge: 259
Registriert: Montag 15. Dezember 2014, 00:31

BlackJack hat geschrieben:@Serpens66: So ganz allgemein kann man da eigentlich nur sagen: Schnellerer Prozessor. Und man sollte genug Arbeitsspeicher haben damit nicht ausgelagert werden muss. Das gilt allgemein, aber beim Raspi im besonderen weil dort der Hintergrundspeicher auf den ausgelagert wird die SD-Karte ist und die ist dann noch mal um einige Grössenordungen langsamer als es eine normaler Festplatte wäre.
okay danke :) und würden diese allgemeinen Faktoren beim Pi 2 deutlich besser aussehen? (ja ich weiß, Spezifikationen googlen, aber ich weiß nicht wie sich in Daten ein Schnellerer Prozessor äußert =/ )
sparrow hat geschrieben:Die Speicherkarte könnte übrigens auch dein Bottlneck sein.
Wenn du, wie du hier schreibst, alle paar Sekunden etwas auf die Karte schreibt, kann das natürlich auch entsprechend lange dauern.
Und förderlich für die Haltbarkeit der Karte ist das natürlich auch nicht :wink:
danke :)
Den Speicherprozess könnte man vermutlich schon optimieren...
Ich nutze folgendes, um vielfach pro Sekunde fast jeden zwischenschritt zu speichern, damit ich im Falle eines Fehlers und damit Abbruch des skripts, genau sehen kann, wo der Fehler auftrat:

Code: Alles auswählen

def history(text):
    text = str(text) # falls text kein string, dann umwandeln
    textmituhrzeit = "{}".format(uhrzeit())+" | "+text+"\n"
    with open('Log_' + '{}'.format(wochentag()) + '.txt', 'a') as f : # mit wochentag namen gespeichert. So eine Datei fuer jeden Tag -> weniger grosse Dateien und nach einer Woche werden sie automatisch ueberschrieben
            f.write("%s" % textmituhrzeit)
Vielleicht belastet das ständige speichern und man sollte stattdessen nur z.b alle 5 minuten speichern, bzw. in einem except Block wenn ein Fehler auftritt?
Gibt es sowas? Dass der gewünschte Text in eine txt Datei geschrieben wird, aber noch nicht abgespeichert wird und man das später nachholen kann? Und wäre das sinnvoll?

edit:
Freien Speicher habe ich 2GB von 5,6GB Gesamt.
BlackJack

@Serpens66: Ein schnellerer Prozessor kann Programme schneller abarbeiten. Wenn sich ausser der Taktzahl nichts ändert, dann in der Regel um den Faktor schneller um den sich die Taktraten unterscheiden. Natürlich nur unter der Voraussetzung dass der Prozessor der Flaschenhals bei dem Programm ist.

Die Erstellung der Protokolldatei sieht komisch aus. Wie kommt man auf die Idee `str.format()` und ``+`` auf diese Art zu mischen? Was geben `uhrzeit()` und `wochentag()` eigentlich für Typen zurück dass das überhaupt Sinn macht? Und dann am Ende die ``%``-Operation beim schreiben — was soll das denn Deiner Meinung nach bringen?

Du solltest vielleicht erst einmal *messen* wo denn überhaupt Dein Flaschenhals liegt. Ein schnellerer Prozessor oder mehr Kerne helfen nicht wenn der beim schreiben von Daten auf SD-Karte liegt.

Man könnte die Datei nicht ständig öffnen und schliessen und stattdessen hoffen, dass das Betriebssystem die Daten sinnvoll cached bevor sie geschrieben werden, oder man schreibt sich einen Thread für solche Schreibaktionen der eine Weile Daten sammelt bevor er sie rausschreibt. Auch hier muss man wieder auf den Arbeitsspeicher achten.

Womit wir bei der Angabe 2 GiB freier Speicher wären: Es ist egal wieviel Platz auf der SD-Karte frei ist (solange er ausreicht um die Daten zu speichern) die Frage war ob Du genug *Arbeits*speicher hast und das System nicht anfangen muss Speicherbereiche auf die SD-Karte auszulagern.
Serpens66
User
Beiträge: 259
Registriert: Montag 15. Dezember 2014, 00:31

sooo... ich hab jetzt mal genauer nachgemessen, wo was wie lange dauert.

Arbeitsspeicher hat mein Rasp. Pi 1 Model B vermutlich 512MB, zumindest steht es so auf der Verpackung :)

Also mein Skript läuft halt in einer while schleife im dauerzustand. "ohne prints", heißt ohne print() und auch ohne schreiben in meine .txt Datei.
Art | Gesamtdurchlaufzeit in sek
PC mit prints | 3.09
PC ohne prints | 3.04
PI mit prints | 35
PI ohne prints | 31.9

Man sieht, die prints machen schon einen Teil aus, aber wenn ich eine gesamtzeit von 3 sekunden erwarte, ist es ziemlich egal, obs nun 32 oder 35 sekunden sind, es ist so oder so viel zu langsam.

Ich habe natürlich auch bei einzelnen Komponenten die Zeit gemessen.
So dauern die API anfragen in der Regel um den Faktor 2.8 länger auf dem Pi, als auf dem PC. -> Sie verlangsamen, aber sind nicht der Hauptgrund.

eine sehr große for schleife (also eine schleife die mehrfach listen mit mehreren hundert einträgen durchgeht), dauert auf dem PC 0.125 sekunden.
Auf dem Pi hingegen dauert sie 7.22 sekunden.
-> also wird wohl, wie ich bereits vermutet habe, das normale durchlaufen von zb for schleifen die Ursache sein.

Außerdem verwende ich an einer Stelle deepcopy(), weil ich die einträge eines Dictionaries vollständig in eine neue Variable übertragen will. Das wird dann fuer 6 Dictionaries gemacht. Auf dem PC dauert dieser ganze prozess 0.1 sekunde. Auf dem Pi dauert es ganze 7.8 sekunden.


So, ich denke damit ist jetzt sichtbar, wo die Probleme liegen, oder?
Könnt ihr mir nun sagen, ob der Raspberry Pi 2 den Prozess verschnellern würde? Und vllt auch eine grobe Schätung wieviel schneller es werden würde?
Sirius3
User
Beiträge: 17741
Registriert: Sonntag 21. Oktober 2012, 17:20

@Serpens66: meine Vermutung ist ja, dass wenn man das Skript sinnvoll schreibt, die Dauer deutlich sinkt. deepcopy hört sich schonmal sehr verdächtig an.
Serpens66
User
Beiträge: 259
Registriert: Montag 15. Dezember 2014, 00:31

Sirius3 hat geschrieben:@Serpens66: meine Vermutung ist ja, dass wenn man das Skript sinnvoll schreibt, die Dauer deutlich sinkt. deepcopy hört sich schonmal sehr verdächtig an.
deepcopy wird nur an einer kleinen stelle verwendet. Welche Alternative wuerdest du denn vorschlagen, um ein Dictionary zu duplizieren?

Klar ist es moeglich, dass man durch gutes Skripten die Zeit von 3.04 auf 2.7 bzw. auf dem Pi von 32 auf 28 sekunden drücken könnte.
Aber alles über 10 sekunden ist zu lang ^^
Daher liegt es mit sicherheit nicht nur am Skript, sondern eben auch am PI und ich suche eine schnellere Möglichkeit als den Pi 1 ;)
BlackJack

@Serpens66: So eine Ferndiagnose bei jemandem der sich in dem Thema nicht besonders gut auskennt erscheint mir nicht sonderlich sinnvoll. Solange es keine superoffensichtlichen Sachen sind ist das nahe am Kaffeesatzlesen.

Auch die Fragen nach ”for”-Schleifen allgemein sind nicht sinnvoll, denn es ist ja nicht die ``for``-Schleife an sich langsam oder schnell, sondern es kommt darauf an was in dieser Schleife gemacht wird. Ob die Datenstrukturen und Algorithmen gut zum Problem und dessen Lösung passen und es da nichts grundsätzlich besseres gibt.

Mit dem Raspi 2 würde es schneller werden als mit dem 1er — unter der Voraussetzung das der Flaschenhals nicht die E/A-Operationen auf den Hintergrundspeicher ist, also die SD-Karte. Wieviel schneller kann man sich anhand des Prozessortaktes einfach ausrechnen. (Der Prozessor ist zwar beim 2er ein ARM7 und beim 1er ein ARM6, aber wenn das einen messbaren Unterschied macht, dann zugunsten des 2er.) Das die Geschwindigkeit an einen normalen PC-Prozessor heran kommt, darf man aber nicht erwarten. Die haben mehrere Gigahertz und auch schnellere Speicher, sowohl was den Arbeits- als auch was den Hintergrundspeicher angeht, und auch in der Regel mehr davon.

Die Frage ist weniger ob es eine schnellere Möglichkeit gibt ein Wörterbuch komplett zu kopieren, sondern ob man das überhaupt machen muss. Das man so etwas wirklich machen muss ist eher selten und darum eben verdächtig.
Serpens66
User
Beiträge: 259
Registriert: Montag 15. Dezember 2014, 00:31

BlackJack hat geschrieben:@Serpens66: So eine Ferndiagnose bei jemandem der sich in dem Thema nicht besonders gut auskennt erscheint mir nicht sonderlich sinnvoll. Solange es keine superoffensichtlichen Sachen sind ist das nahe am Kaffeesatzlesen.

Auch die Fragen nach ”for”-Schleifen allgemein sind nicht sinnvoll, denn es ist ja nicht die ``for``-Schleife an sich langsam oder schnell, sondern es kommt darauf an was in dieser Schleife gemacht wird. Ob die Datenstrukturen und Algorithmen gut zum Problem und dessen Lösung passen und es da nichts grundsätzlich besseres gibt.

Mit dem Raspi 2 würde es schneller werden als mit dem 1er — unter der Voraussetzung das der Flaschenhals nicht die E/A-Operationen auf den Hintergrundspeicher ist, also die SD-Karte. Wieviel schneller kann man sich anhand des Prozessortaktes einfach ausrechnen. (Der Prozessor ist zwar beim 2er ein ARM7 und beim 1er ein ARM6, aber wenn das einen messbaren Unterschied macht, dann zugunsten des 2er.) Das die Geschwindigkeit an einen normalen PC-Prozessor heran kommt, darf man aber nicht erwarten. Die haben mehrere Gigahertz und auch schnellere Speicher, sowohl was den Arbeits- als auch was den Hintergrundspeicher angeht, und auch in der Regel mehr davon.

Die Frage ist weniger ob es eine schnellere Möglichkeit gibt ein Wörterbuch komplett zu kopieren, sondern ob man das überhaupt machen muss. Das man so etwas wirklich machen muss ist eher selten und darum eben verdächtig.
gehen wir doch bitte mal davon aus, dass in der großen for schleife nichts verdächtiges und nichts falsches/schelchtes gemacht wird. Sondern wir einfach verschiedene dictionaries und listen mit vielen hundert einträgen haben, welche durchgegangen und evlt verändert werden. (verändert == wenn ein eintrag eine Zahl ist, dann wird zb. x dazuaddiert oderso, also normale rechenoperationen).
edit
bzw mal ganz konkret: wir haben 6 dictionaries, welche die Orderbooks von 6 Börsen enthalten. Diese bestehen jeweils aus um die 100 einträgen, welche wiederum unterteilt sind in Preis und Menge. Nun möchte ich alle Orderbooks mit der for schleife durchgehen und zu dem Preis einen gewissen prozentsatz dazu addieren, also direkt im Dictionary drin, ohne dabei deepcopy oder sonst eine art von verdopplung zu machen.
Mehr mache ich nicht und es dauert 7 sek auf dem pi.

Würde dies dann verschnellert werden und um wieviel ungefähr? (wenn es so einfach ausrechenbar ist, dann bitte nenn mir zahlen, da es fuer mich eben nicht so einfach ist :D). Diese Frage solte doch eigentlich speziell genug sein, um sie direkt beantworten zu können? Unabhängi davon, wie meine for schleife nun tatsächlich aussieht, da ich ja nicht da nach frage, sondern nach einer korrekten for schleife.

auf deepcopy könnte man tatsächlich verzichten, wenn ich andere Teile des Skriptes entsprechend anpasse. Das wären dann einige Zeilen extra, die das skript noch ein wenig unübersichtlicher machen, als es eh schon ist :D Aber wenn man die Zeit einbußen betrachtet, würde es sich sicher lohnen auf deepcopy zu verzichten und ich werde dies dann auch tun.
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Bei den Informationen, die du lieferst, ist schon Kaffeesatzlesen fast schon eine Untertreibung.
Solange du keinen Code lieferst kann man dir nicht weiter helfen.

Deine "konkrete" Information macht so keinen Sinn, weil _das_ keine 7 Sekunden dauern kann. Wird das in der Zeit vielleicht erst noch von fremden Seiten geladen?

Was du ueberpruefen musst: Passt der Prozess in den Arbeitsspeicher oder wird auf die SD-Karte ausgelagert? Kann ich Arbeit vermeiden? Wo wird Zeit verbraucht (-> Profiling)?
Serpens66
User
Beiträge: 259
Registriert: Montag 15. Dezember 2014, 00:31

cofi hat geschrieben:Bei den Informationen, die du lieferst, ist schon Kaffeesatzlesen fast schon eine Untertreibung.
Solange du keinen Code lieferst kann man dir nicht weiter helfen.

Deine "konkrete" Information macht so keinen Sinn, weil _das_ keine 7 Sekunden dauern kann. Wird das in der Zeit vielleicht erst noch von fremden Seiten geladen?

Was du ueberpruefen musst: Passt der Prozess in den Arbeitsspeicher oder wird auf die SD-Karte ausgelagert? Kann ich Arbeit vermeiden? Wo wird Zeit verbraucht (-> Profiling)?
sobald ich (original) code liefere ufert die diskussion nur noch mehr aus, als sie es eh schon tut und ich bekomme nie eine antwort ;)
Aber ich schau heute abend mal, dass ich die besagte for schleife etwas übersichtlicher nachbauen kann und teste die nötige Zeit. Wenn es dann immernoch so lange dauert, werde ich sie hier posten.
(so gesehen habt ihr schon recht, dass bei meiner speziellen for schleife sicher noch mehr zeitfressendes drin ist, aber ich hab aktuell ja auch nur nach einer normalen fehlerfreien for schleife gefragt. Und deine antwort ist, dass eine normale for schleife mit hunderten Einträgen nicht so lange dauert. Gut das wollte ich hören :) .. also werde ich nachher dann code posten und wir suchen genauer :) )

- Wo die Zeit verbraucht wird, habe ich ja bereits untersucht.
- Arbeit vermeiden kann man sicherlich an einigen Stellen. Zb. könnte man die Orderbooks noch stutzen, sodass sie z.b nur 20 anstatt 100 einträge enthalten, da selten mehr als 20 gebraucht werden. Allerdings muss ich doch auch dafür die dictionaries mit einer for schleife durchgehen und zb. die mengen addieren bis es z.b 30 sind (denn auf die mengen kommt es an) und alle weiteren einträge dann löschen. So spontan wüsste ich keinen Weg, wie das schneller laufen sollte, als die bisherigen Aktionen die ich mit den dictionaries mache.

- "Passt der Prozess in den Arbeitsspeicher oder wird auf die SD-Karte ausgelagert?"
-> wie untersuche ich das?
jerch
User
Beiträge: 1669
Registriert: Mittwoch 4. März 2009, 14:19

@Serpens66:
Hat der Raspi 1 eine Float-Extension? Und wenn ja, nutzt Du "armel" oder "armhf"?
Ohne Float-Extension bzw. mit "armel" werden float-Berechnungen teuer emuliert, was bei einer schwachbrüstigen CPU erheblich zu spüren sein dürfte.
Benutzeravatar
sparrow
User
Beiträge: 4187
Registriert: Freitag 17. April 2009, 10:28

Serpens66 hat geschrieben:sobald ich (original) code liefere ufert die diskussion nur noch mehr aus, als sie es eh schon tut und ich bekomme nie eine antwort ;)
Das interpretiere ich so, dass du weißt, dass dein Code schlecht ist.

Stell dir mal vor du arbeitest in einer Autowerkstatt. Dann klingelt das Telefon und jemand fragt dich, was das für ein quietschen bei 140 auf der Landstraße ist. Auf der Autobahn ist das nicht, nur auf der Landstraße. Gut, sagst du, kommen sie mit dem Auto vorbei dann schauen wir mal. Der Kunde antwortet: Sind sie verrückt? Dann sagen sie mir, dass das Ding nicht mehr verkehrssicher ist. Sie müssen mir das schon jetzt am Telefon sagen.

Genau das machst du gerade. So verschwendest du aber deine Zeit - und die der Leute, die dir helfen wollen.
Serpens66
User
Beiträge: 259
Registriert: Montag 15. Dezember 2014, 00:31

jerch hat geschrieben:@Serpens66:
Hat der Raspi 1 eine Float-Extension? Und wenn ja, nutzt Du "armel" oder "armhf"?
Ohne Float-Extension bzw. mit "armel" werden float-Berechnungen teuer emuliert, was bei einer schwachbrüstigen CPU erheblich zu spüren sein dürfte.
Leider verstehe ich keinen deiner Begriffe. Ich habe am Pi 1 diesbezüglich keine Änderungen gemacht, man kann also vermutlich von standardeinstellungen ausgehen. Gibt es einen einfachen Weg, dies mal zu testen, ob das eines der probleme sein könnte?
sparrow hat geschrieben:
Serpens66 hat geschrieben:sobald ich (original) code liefere ufert die diskussion nur noch mehr aus, als sie es eh schon tut und ich bekomme nie eine antwort ;)
Das interpretiere ich so, dass du weißt, dass dein Code schlecht ist.

Stell dir mal vor du arbeitest in einer Autowerkstatt. Dann klingelt das Telefon und jemand fragt dich, was das für ein quietschen bei 140 auf der Landstraße ist. Auf der Autobahn ist das nicht, nur auf der Landstraße. Gut, sagst du, kommen sie mit dem Auto vorbei dann schauen wir mal. Der Kunde antwortet: Sind sie verrückt? Dann sagen sie mir, dass das Ding nicht mehr verkehrssicher ist. Sie müssen mir das schon jetzt am Telefon sagen.

Genau das machst du gerade. So verschwendest du aber deine Zeit - und die der Leute, die dir helfen wollen.
ganz ruhig (und ja, ganz genau so ist es, ich brauche meine schrotte karre noch und es wuerde monate dauern, sie in einen zustand zu versetzen, der einem echten programmierer zusagen wuerde, deswegen möchte ich mich auf die wichtigen Dinge beschränken) :) Ich wollte ja eine allgemeingültige Antwort, und die habe ich jetzt bekommen (nämlich dass es bei einer normalen for schleife nicht sein kann).
Das ist alles was ich wollte.
Und jetzt können wir zu der zweiten Phase übergehen. Sobald ich fertig mit der Einrichtung des Pi 2 bin, und dieser zwar schneller, aber nicht schnell genug sein sollte, werd ich wie bereits erwähnt die for schleife in vereinfachter form posten.
Benutzeravatar
sparrow
User
Beiträge: 4187
Registriert: Freitag 17. April 2009, 10:28

Serpens66 hat geschrieben:ganz ruhig
Bin ich doch ;)
Serpens66 hat geschrieben:werd ich wie bereits erwähnt die for schleife in vereinfachter form posten.
Du kommst also mit dem Auto von deinem Kumpel, damit wir bei dem schauen was an deinem Auto kaputt ist. Das wird sicher ein Spaß :)
jerch
User
Beiträge: 1669
Registriert: Mittwoch 4. März 2009, 14:19

@Serpens66:
Führ das mal im Terminal aus:

Code: Alles auswählen

readelf -A /proc/self/exe | grep Tag_ABI_VFP_args
Wenn da 'Tag_ABI_VFP_args: VFP registers' steht, ist Dein System armhf, also mit Hardware-Floatpoint. Wenn nix kommt, ist es emuliert.
BlackJack

@jerch: Wenn es Raspbian ist, dann ist es armhf — das ist ja einer der Gründe warum es Raspbian überhaupt gibt.
Antworten