BlitzMax nun mit MultiThreading-Unterstützung

Übersicht Sonstiges News

Neue Antwort erstellen

Blitzcoder

Newsposter

Betreff: BlitzMax nun mit MultiThreading-Unterstützung

BeitragMo, Sep 15, 2008 19:08
Antworten mit Zitat
Benutzer-Profile anzeigen
user posted image
Wie Mark Sibly, der Entwickler von BlitzBasic und BlitzMax, vorhin bekannt gab, gibt es nun eine experimentelle MultiThreading-Unterstützung in BlitzMax. Schon vorgestern wurde die erste Version via Subversion veröffentlicht. Laut Mark ist die aktuelle Version noch hochexperimentell und nur zum Testen geeignet und es kann bis zu einem offiziellen Update in dem das neue Modul enthalten ist noch einige Zeit dauern. Da der BlitzMax-eigene GarbageCollector offenbar nur sehr umständlich angepasst werden kann, muss bei aktiviertem MultiThreading der "Boehm-Demers-Weiser" genutzt werden. Insgesamt wirkt das ganze noch relativ unfertig, der Debugger funktioniert nur im Haupt-Thread und wenn in einem anderen Thread Fehler auftreten stürzt die Anwendung einfach ab.

Dennoch ist das eine wichtige wie interessante Entwicklung. Parallelisierung wird gerade mit Blick auf die zunehmende Verbreitung von CPUs mit mehreren Kernen immer wichitiger werden. Zudem ist es höchst wahrscheinlich, dass das angekündigte 3D-Modul "Max3D" den Entwickler dazu bewogen hat, MultiThreading zu implementieren, da dieses Feature für die Geschwindigkeit einer 3D-Engine vor allem in Kombination mit Physikberechnungen entscheidend sein kann.

Informationen zur Ausprobieren sind im unten verlinkten (englischem) Thread zu finden.

RELATED TOPIC: Ankündigung (Englisch)
RELATED LINK: Multithreading (Wikipedia)
 

klepto2

BeitragMo, Sep 15, 2008 20:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Erstmal schön das sich da endlich was tut. Gerade im 3D Bereich (Physik oder aber auch Terrain) ist multithreading ein guter zusatz und fast nicht wegzudenken, wenn Max3D konkurenzfähig werden will.

Ich teste das ganze jetzt seitdem Brucey die Anleitung zur Installation herausgegeben hat und mein aktuelles Fazit:

In der jetzigen Form ist es leider nicht zu verwenden. Gut, für kleinere Anwendungen ja aber für große Projekte noch komplett ungeeignet.
Warum?
1. der GC ist noch nicht gänzlich Threadsafe. Also multithreaded lib wie Newton Archimedea zwingen den neuen GC genauso in die Knie wie den alten auch.
2. der threaded GC ist sau lahm
Einfache Testläufe mit mehreren Container arten in Bmax (TList,TMap und Arrays) offenbarten das der Rest von BMax noch nicht wirklich auf den neuen GC angepasst sind (logisch, wurde ja nix geändert) . In der Regel war der alte GC ca. 7-10 mal schneller als der alte. Beispiel eine einfache TList wird mit 200000 Einträgen gefüllt. Standard ca 75ms, threaded Version braucht zwischen 600-800ms

Hoffen wir das BRL das noch hinbekommt, dann wird es eine richtig gute Erweiterung.
Matrix Screensaver
Console Modul für BlitzMax
KLPacker Modul für BlitzMax

HomePage : http://www.brsoftware.de.vu

FireballFlame

BeitragDi, Sep 16, 2008 0:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Will auch haben! (für Blitz3D) Sad
PC: Intel Core i7 @ 4x2.93GHz | 6 GB RAM | Nvidia GeForce GT 440 | Desktop 2x1280x1024px | Windows 7 Professional 64bit
Laptop: Intel Core i7 @ 4x2.00GHz | 8 GB RAM | Nvidia GeForce GT 540M | Desktop 1366x768px | Windows 7 Home Premium 64bit

Abrexxes

BeitragDi, Sep 16, 2008 1:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Wozu? Um DirectX7 mit gewrappter Physik anzusteuern? Das würde rein NULL bringen sondern eher noch verlangsamen.

Dazu müsste man Blitz3D komplett umschreiben und anders Aufbauen....und jetzt rate mal was Blitzmax ist. Laughing
 

Xane

BeitragMi, Okt 01, 2008 16:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Gerade für Netzwerk-Code ist Multithreading für mich nicht wegzudenken..
Schön, dass endlich daran gearbeitet wird.

Neue Antwort erstellen


Übersicht Sonstiges News

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group