[ TAG 107 ][06.08.2021] -Erfolgreich

 Ich habe heute die Worksession um [06.08.2021][0314] gestartet. Durch die Nutzung von [multiprocessing.sharedctypes.RawValue] bin ich bei meinen Messungen mehr oder weniger auf ein Problem gestoßen.

Das Problem bestand darin, dass bei der Benutzung von C-Variablen in Python ein unvorhergesehener Effekt aufgetreten ist. Wenn ich eine Python-Variable initialisiere, werden im Speicher [28 Bytes] reserviert. Egal ob es sich um Boolean oder Integer handelt. Zu sehen, dass jede von meinen booleschen Variablen [28 Bytes] benötigen, ist nicht schön. Aber ich bin mir bewusst, dass es sich hier um Python und nicht um präzise Programmiersprachen, wie C, C++ und Assembler handelt.

Als ich die C-Variablen in Python gemessen habe, musste ich verblüfft feststellen, dass sie sagenhafte [120 Byte] beanspruchen.

Um Statusmeldungen von Prozessen zu verwalten, ist es selbst für Sprachen wie Python und Java ein absolut unverhältnismäßiger Aufwand und Ressourcenverschwendung.

Mit Byte-Streams zu arbeiten ist meiner Meinung nach wesentlich effizienter. Meinen heutigen Messungen [2021-08-06][05:49:42] zufolge hat eine [Python-Byte-Klasse] mit einen Byte-Element hat [34 Bytes], zwei Byte-Elemente [35 Bytes], drei Byte-Elemente [36 Bytes].

Ein weiteres wichtiges Konzept in Verbindung mit Byte-Streams ist das Shared-Memory. Beim Shared-Memory habe ich anscheinend die Möglichkeit Speicherverwaltungsaufgaben selber zu übernehmen. Das wiederum  eröffnet mir völlig neue Möglichkeiten Python-Module mit Assembler, C und C++ zu verknüpfen.

Es funktioniert scheinbar so, dass man in der Lage ist Gemeinsamen Speicher zu reservieren. Diesen Speicher können Prozesse anscheinend über eine Identifikationszeichenkette in Python gemeinsam nutzen.

Wichtig ist, dass der Speicher zum Schluss freigegeben werden soll.

Ich gehe davon aus, dass diese Methode sehr schnell ist und innerhalb von einen CPU-CLOCK-CYCLE abgearbeitet wird. Jedoch habe ich in dieser Richtung noch keine Messungen gemacht.

Kommentare

Beliebte Posts aus diesem Blog

[ TAG 38 ][29.05.2021] - Erfolgreich - Freelancer-Portale

[ TAG 747 ][07.04.2023] -Erfolgreich -BNKTRS -Google Code -Objekt und Methodenliste

[ TAG 52 ][12.06.2021] - Erfolgreich - IAP-20210601-20210609-2325