Hi
Die Tage habe ich die Geschwindigkeit von C#, Delphi und C++ getestet. Dazu habe ich in einer 10-Mio.-For-Schleife einen Vektor normalisiert. Dabei kam heraus, dass C# dafür 1,5 Sekunden benötigt. Delphi 0,5 Sekunden und C++ irgendwas um 0,003 Sekunden. Dass C# am langsamsten ist, dachte ich mir fast. Aber der Unterschied zwischen Delphi und C++ ist arg groß. Da ich nun für meine KI jeden Leistungsvorteil nutzen möchte, will ich sämtliche Berechnungen über C++ erledigen, wobei die Verwaltung der KI selbst in Delphi erfolgt.
(Ich mag halt Delphi und will C++ nur dann nutzen, wenn es unbedingt nötig ist)
Der Aufbau sieht so aus: Hauptprogramm(3D-Engine) --> KI(Delphi-
DLL) --> reine Berechnungen(C++-
DLL)
Was mich nun interessieren würde ist, inwieweit sich das mit Multithreading vereinbaren lässt. In der Delphi-
DLL werden, z.B. bei einem Quad-Core, 4 Threads erstellt, die ständig auf exportierte Funktionen der C++-
DLL zugreifen (Pathfinding, Fuzzy-Logic, usw.).
Geht das so überhaupt?
Danke