Speicherverwaltung

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
PythonJungspund
User
Beiträge: 8
Registriert: Freitag 28. Oktober 2016, 09:47

Hallo

Ich bin neu in diesem Forum. Einen wirklichen "Programmier-backgrounnd" habe ich nicht. Seit etwa einem Jahr bin ich aus beruflichen Gründen am erlernen der Sprache C++. Nun muss ich Python lernen. Ich habe mir ein paar Bücher gekauft und angefangen zu lernen. Darin bin ich auf folgenden Satz gestoßen, der sich mit allem beißt was ich bis dato über Programmierung gelernt habe:

"PyTables supports out-of-memory operations, which makes it possible to implement array-based computations that do not fit into the memory"

Wenn ich mir überlege wie viele Stunden ich schon mit Debuggern verbringen musste um memory leaks zu finden,.... so schockiert mich obiger Satz doch sehr...

Zudem sehe ich darin die Gefahr, dass schlimme Bugs entstehen könnten. Ein segmentation error entsteht ja nicht grundlos. Damit meine ich nicht sich bei einer Schleife zu verzählen, sondern unter Umständen elementare Fehler in der Programmlogik.

Ich würde gerne wissen wie erfahrene Python user das sehen?

Grüße
PythonJungspund
Sirius3
User
Beiträge: 17754
Registriert: Sonntag 21. Oktober 2012, 17:20

@PythonJungspund: Du verstehst den Satz, glaube ich, falsch. Um Rechnungen durchführen zu können, müssen die Werte dafür im Arbeitsspeicher des Rechners liegen. Bei Array-Operationen müssen aber nicht zwangsläufig alle Werte im Speicher sein, sondern nur ein Teil. Der Rest kann auf einer Festplatte liegen und bei Bedarf nachgeladen werden. PyTables unterstützt den Programmierer dabei, dass das Nachladen möglichst transparent erfolgt. Hier finden also keine Operationen auf Speicher statt, auf dem man das nicht darf. Da ein Python-Programmierer keinen Einfluß auf die Speicherverwaltung hat, kann es auch keine Segmentation Faults geben und somit tritt diese Gruppe an Bugs, mit der sich ein C++-Programmierer herumschlagen muß, gar nicht auf.
DasIch
User
Beiträge: 2718
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

Ein Segmentation Error entsteht durchaus grundlos, zumindest insofern als dass es keinen guten Grund dafür gibt dass er zur Laufzeit in einer modernen Programmiersprache auftauchen kann.
Antworten