INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

MoveBlock oder SwapBlock (Benchmarktest)



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

14.10.2011, 13:00 (Dieser Beitrag wurde zuletzt bearbeitet: 14.10.2011 13:03 von rolfk.)
Beitrag #4

rolfk Offline
LVF-Guru
*****


Beiträge: 2.317
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
RE: MoveBlock oder SwapBlock (Benchmarktest)
(14.10.2011 12:37 )abrissbirne schrieb:  Danke für deine Erklärung.
Nehmen wir mal an ich habe eine DLL die Daten in einen Shared Memory Bereich (MapViewOfFile...) ablegt. Was wäre die schnellste Variante diese Daten einem LabVIEW Array zu übergeben (oder kann ich sogar den LabVIEW Datenbereich Mappen?).

Thx

Hmmm mapping von LabVIEW Datenbereichen ist sehr tricky. Der Speicherbereich eines LabVIEW Handles ist nur garantiert während der Dauer des SharedLibrary Funktionsaufrufes. Danach ist es sehr schwierig um im LabVIEW Diagram zu garantieren, dass dieses Handle nicht im Speicher verschoben wird oder gar dealloziert. Es ist ganz sicher keine Möglichkeit für eine Funktionslibrary die Du an mehr oder weniger unbedarfte LabVIEW Programmierer zur Verfügung stellen willst. Sobald dieses Handle nämlich in irgendeiner Weise mit einer LabVIEW Funktion in Berührung kommt, kann diese das Handle grundsätzlich modifizieren, inklusive im Specher verschieben oder gar ganz deallozieren. Ob und wie eine LabVIEW Funktion ein Handle verändert ist zwar logisch definiert aber halt nicht sehr praktisch um einem Librarybenützer in Detail zu erklären. Zudem ist die Chance dass entweder Du eine Variante bei der Beschreibung übersiehst, oder der Benutzer diese vergisst, viel zu hoch. Ein Kopie des Speichers ist deshalb fast unvermeidlich. Ob MoveBlock dazu perfekt ist weiss ich nicht. Meiner Meinung nach ist es eine strikte Kopierloop. Die Performance ist deshalb hauptsächlich vom verwendeten C Compiler abhängig, aber ich bezweifle dass Du es besser machen kannst, ausser Du willst Dich mit Assembler rumschlagen.

Rolf Kalbermatter
Technische Universität Delft, Dienst Elektronik und Mechanik
https://blog.kalbermatter.nl
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Nachrichten in diesem Thema
RE: MoveBlock oder SwapBlock (Benchmarktest) - rolfk - 14.10.2011 13:00

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Pointer und MoveBlock OXO 4 8.846 03.06.2013 16:31
Letzter Beitrag: OXO

Gehe zu: