kramann.info
© Guido Kramann

Login: Passwort:










kramann.info
© Guido Kramann

Login: Passwort:




Performance erhöhen

(EN google-translate)

(PL google-translate)

Beim Aufruf einer Native-Funktion in Java, müssen alle notwendigen Initialisierungen und Konfigurationen im Rahmen dieses Aufrufs durchgeführt werden. Dies ist bei der Einbindung einer Webcam recht Zeit raubend. Besser wäre, das GUI-Programm und das Webcam-Programm würden parallel laufen und wenn nötig untereinander Daten austauschen. Die Synchronisation dieses Datenaustausches ist dabei der eigentlich heikle Punkt.

Der Datenaustausch könnte über die Festplatte erfolgen. Dies würde die Performance aber sehr beschränken, da hier die Geschwindigkeiten im Bereich von 100MB/s liegen.

Eine einfach anzwendende Alternative stellt die Verwendung einer Ramdisk dar. Hierbei wird ein Teil des Arbeitsspeichers wie ein Ordner auf einem Speichermedium verwendet und kann über eine Programmiersprache wie Java oder C auch genauso angesprochen werden.

Ramdisks werden vom Linux-Kernel unterstützt und werden beim Booten als Kernel-Option z.B. im Grub-Loader eingetragen. Bei Knoppix findet sich ein entsprechender Eintrag im Ordner boot in syslinux.cfg. Es wird per Default eine Ramdisk der Größe 100000 Kilobyte (100MB) erstellt.

Es werden per Default bereits einige Ramdisks vorbereitet, die aber nicht aktiv sind. Man listet sie auf mit:

  • ls -l /dev/ram*

Um diese wirklich nutzen zu können, muß angegeben werden, als welches Dateisystem sie verwendet werden soll:

  • mke2fs -m 0 /dev/ram0

Nun muss ein Mountpoint erstellt und das Ramdrive als Laufwerk gemountet werden:

  • mkdir /mnt-system/ramdrive
  • mount /dev/ram0 /mnt-system/ramdrive

Um dies wieder rückgängig zu machen, können folgende Befehle benutzt werden:

  • umount -v /mnt-system/ramdrive
  • rm -r /mnt-system/ramdrive