Performance verbessern
Moderator: Moderatoren
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9374
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 102 Mal
- Danksagung erhalten: 361 Mal
- Kontaktdaten:
Re: Performance verbessern
Ja, das sollte man eigentlich erwarten können. Aber, hey, vielleicht ist es ja in der 4.0 enthalten.
Herzlich,
Tom
Tom
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2518
- Registriert: Mi, 28. Jul 2010 17:16
- Hat sich bedankt: 12 Mal
- Danksagung erhalten: 77 Mal
Re: Performance verbessern
@Tom:
Hi, Hi, Hi, wenn der Verlauf der Versionsnummern so bleibt wie in den vergangenen Jahren bin ich bis zur Version 4.0 ganz sicher längst in Rente .........
Dazu schaffe ich mir einen Wohnwagen an, zum rumreisen aber sicher ohne PC im Inventar...
Hi, Hi, Hi, wenn der Verlauf der Versionsnummern so bleibt wie in den vergangenen Jahren bin ich bis zur Version 4.0 ganz sicher längst in Rente .........
Dazu schaffe ich mir einen Wohnwagen an, zum rumreisen aber sicher ohne PC im Inventar...
Valar Morghulis
Gruss Carlo
Gruss Carlo
- Jan
- Marvin
- Beiträge: 14659
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Re: Performance verbessern
So vehement wie Steffen auf den Konferenzen bei Fragen in der Richtung immer gegen Multi-Kerne argumentiert, wird das zu unseren Lebzeiten nicht mehr kommen.
Jan
Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2518
- Registriert: Mi, 28. Jul 2010 17:16
- Hat sich bedankt: 12 Mal
- Danksagung erhalten: 77 Mal
Re: Performance verbessern
Hallo Jan
das verstehe ich ganz und gar nicht. Vielleicht ist ja auch der Aufwand zu gross?
Vielleicht ist genau dies aber auch das Seefeuer welches das Schiff "Xbase" nicht ..........
Mein oben erwähnter Freund hat mir mit seinen C Programmen und L&L vorgeführt was mit paralleler Verarbeitung in mehreren Threads auf mehreren Kernen so möglich ist.
Wenn du das siehst und mit deinen eigenen Programmen vergleichst dann gehst du einfach nur noch deprimiert nach Hause.
das verstehe ich ganz und gar nicht. Vielleicht ist ja auch der Aufwand zu gross?
Vielleicht ist genau dies aber auch das Seefeuer welches das Schiff "Xbase" nicht ..........
Mein oben erwähnter Freund hat mir mit seinen C Programmen und L&L vorgeführt was mit paralleler Verarbeitung in mehreren Threads auf mehreren Kernen so möglich ist.
Wenn du das siehst und mit deinen eigenen Programmen vergleichst dann gehst du einfach nur noch deprimiert nach Hause.
Valar Morghulis
Gruss Carlo
Gruss Carlo
- brandelh
- Foren-Moderator
- Beiträge: 15697
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: Performance verbessern
Die Performance hängt nicht an mehreren Kernen
Es gibt Programme die - wegen Ihrer Aufgaben - mehrere Kerne sinnvoll nutzen können, aber das ist ein anderes Thema.
Xbase++ gibt uns viel einfache Bedienung, aber wohl auf Kosten der Performance.
Beispiel, gestern musste ich meiner Frau ein Programm schreiben, das aus 2 XLSX Dateien Werte holt und in eine schreibt, danach soll sie die offene Datei prüfen können, also Excel ActiveX.
Alle Feldpositionen sind bekannt, aber ich wollte nur eine kleine EXE, Xbase++ geht daher nicht:
ActiveX z.B. Excel zum Ausfüllen von Feldern. Mit Xbase++ geht das wirklich einfach, String rein, String raus, Nummer rein, Nummer raus. Aber etwas gemächlich im einzelnen Feldzugriff.
nun habe ich PowerBasic genommen, woher ich ja eigentlich stamme, die haben alles an Typen ... Strings (Ansi) WideStrings (Unicode) Variants ... ActiveX COM Browser erstellt eine LIB (Quellcode mit defines und Funktionen) ...
Und beim Zugriff bin ich fast beim Verzweifeln, immer SYNTAX ERROR .... warum ... im Internet finde ich ein Beispiel ... AHA ich muss WStrings erstellen, nach Variants umsetzen und dann an Active X übergeben ... umständlich
Beim Lesen komme ich wieder an meine Grenzen ... im Internet finde ich die Antwort, wer eine Variant liest, muss danach prüfen was da drin ist und mit speziellen Funktionen an normale Vars übergeben ... sehr umständlich ...
ABER die EXE rennt rasend schnell, hunderte Ersetzungen sofort da, da sieht man nix außer das Endergebnis in Excel, meine Frau ist begeistert und ich hab meine Leidenschaft zum Tüfteln wieder gefunden
Ach JA, Powerbasic EXE 87 KB - ohne weitere nötige DLLs etc. ein Dialog ... und nur 1 Kern, denn die EXE hat keine Threads. (obwohl diese möglich wären)
Die EXE ist frei für jeden Kern, ob diese tatsächlich verlegt wird weiß ich aber nicht.
Keine meiner Xbase++ EXEen erzeugen nennenswerte Last auf der CPU, die warten meist auf Eingaben. Selbst enorme Druckjobs, legen den Rechner nicht lahm (eigener Thread).
Die Art von Anwendungen (CAD, Spiele etc.) die wirklich rechnen müssen, werden nicht mit Xbase++ erstellt, dafür nimmt man C und wenn die Aufgabe sich eignet, kann man dann auch alle Kerne rauchen lassen.
Es gibt Programme die - wegen Ihrer Aufgaben - mehrere Kerne sinnvoll nutzen können, aber das ist ein anderes Thema.
Xbase++ gibt uns viel einfache Bedienung, aber wohl auf Kosten der Performance.
Beispiel, gestern musste ich meiner Frau ein Programm schreiben, das aus 2 XLSX Dateien Werte holt und in eine schreibt, danach soll sie die offene Datei prüfen können, also Excel ActiveX.
Alle Feldpositionen sind bekannt, aber ich wollte nur eine kleine EXE, Xbase++ geht daher nicht:
ActiveX z.B. Excel zum Ausfüllen von Feldern. Mit Xbase++ geht das wirklich einfach, String rein, String raus, Nummer rein, Nummer raus. Aber etwas gemächlich im einzelnen Feldzugriff.
nun habe ich PowerBasic genommen, woher ich ja eigentlich stamme, die haben alles an Typen ... Strings (Ansi) WideStrings (Unicode) Variants ... ActiveX COM Browser erstellt eine LIB (Quellcode mit defines und Funktionen) ...
Und beim Zugriff bin ich fast beim Verzweifeln, immer SYNTAX ERROR .... warum ... im Internet finde ich ein Beispiel ... AHA ich muss WStrings erstellen, nach Variants umsetzen und dann an Active X übergeben ... umständlich
Beim Lesen komme ich wieder an meine Grenzen ... im Internet finde ich die Antwort, wer eine Variant liest, muss danach prüfen was da drin ist und mit speziellen Funktionen an normale Vars übergeben ... sehr umständlich ...
ABER die EXE rennt rasend schnell, hunderte Ersetzungen sofort da, da sieht man nix außer das Endergebnis in Excel, meine Frau ist begeistert und ich hab meine Leidenschaft zum Tüfteln wieder gefunden
Ach JA, Powerbasic EXE 87 KB - ohne weitere nötige DLLs etc. ein Dialog ... und nur 1 Kern, denn die EXE hat keine Threads. (obwohl diese möglich wären)
Die EXE ist frei für jeden Kern, ob diese tatsächlich verlegt wird weiß ich aber nicht.
Keine meiner Xbase++ EXEen erzeugen nennenswerte Last auf der CPU, die warten meist auf Eingaben. Selbst enorme Druckjobs, legen den Rechner nicht lahm (eigener Thread).
Die Art von Anwendungen (CAD, Spiele etc.) die wirklich rechnen müssen, werden nicht mit Xbase++ erstellt, dafür nimmt man C und wenn die Aufgabe sich eignet, kann man dann auch alle Kerne rauchen lassen.
Gruß
Hubert
Hubert
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2518
- Registriert: Mi, 28. Jul 2010 17:16
- Hat sich bedankt: 12 Mal
- Danksagung erhalten: 77 Mal
Re: Performance verbessern
Hallo Hubert
bei deinem Beispiel hast du recht.
je nach dem was dein Programm bearbeiten muss hängt die Gesamt Performance aber sehr wohl auch von den benutzten Kernen ab.
Ein Beispiel: Das Programm erhält einige von einander vollkommen unabhängige Aufgaben die es erledigen muss.
Jede Aufgabe startet einen Thread, in diesem wird die jeweils zugeteilte Aufgabe ausgeführt.
Stehen z.B. 60 Anfragen an werden diese nacheinander auf einem Kern ausgeführt. Könnten diese auf mehrere Kerne aufgeteilt werden könnten mehr Aufgaben in kürzerer Zeit erledigt werden.
Du hast Recht:
Aus diesem Blickwinkel ist xbase wohl nicht die richtige Grundlage für Webanwendung oder auch umfangreiche Berechnungen.
bei deinem Beispiel hast du recht.
je nach dem was dein Programm bearbeiten muss hängt die Gesamt Performance aber sehr wohl auch von den benutzten Kernen ab.
Ein Beispiel: Das Programm erhält einige von einander vollkommen unabhängige Aufgaben die es erledigen muss.
Jede Aufgabe startet einen Thread, in diesem wird die jeweils zugeteilte Aufgabe ausgeführt.
Stehen z.B. 60 Anfragen an werden diese nacheinander auf einem Kern ausgeführt. Könnten diese auf mehrere Kerne aufgeteilt werden könnten mehr Aufgaben in kürzerer Zeit erledigt werden.
Du hast Recht:
Auch damit:Xbase++ gibt uns viel einfache Bedienung, aber wohl auf Kosten der Performance.
Dabei hast du die Webanwendungen wie SaS, httpenpoint, cxp und wie Sie alle heissen die viele gleichzeitige Aufgaben abarbeiten müssen vergessen. Wenn du da nur wenige gleichzeitige Abfragen hast die alle z.B. auch noch ein PDF benötigen bist du mit einem Kern sehr schnell an der Grenze dessen was die Benutzer an Wartezeit noch aktzeptieren.Die Art von Anwendungen (CAD, Spiele etc.) die wirklich rechnen müssen, werden nicht mit Xbase++ erstellt, dafür nimmt man C und wenn die Aufgabe sich eignet, kann man dann auch alle Kerne rauchen lassen.
Aus diesem Blickwinkel ist xbase wohl nicht die richtige Grundlage für Webanwendung oder auch umfangreiche Berechnungen.
Valar Morghulis
Gruss Carlo
Gruss Carlo
- brandelh
- Foren-Moderator
- Beiträge: 15697
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: Performance verbessern
hab ich nicht, ich würde keinen Web-Server mit Xbase bauen, wenn er mehr als gelegentliche Aufrufe zu erledigen hat.
Boris muss da viel Arbeit reingesteckt haben um die Threads gleichzeitig erledigen zu lassen und eine Website zu berechnen ist nicht sooo viel Arbeit bei kleineren Firmen.
Für Web-Anwendungen gehe ich über die CGI-EXE, diese läuft kurz und wenn man will, kann man gleich den gewünschten Kern wählen (einen für eine EXE),
jede ist für sich und der Apache oder ISS kümmert sich um den Rest.
Ich denke, dass bevor die Kerne ein Problem bei Web-Anwendungen werden, geht vorher die TCP/IP Leitung bzw. der Datenbank Server in die Knie.
Aber ich mache das ja auch nur so nebenbei, wirklich Erfahrung mit großen Sachen habe ich nicht.
Gruß
Hubert
Hubert
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2518
- Registriert: Mi, 28. Jul 2010 17:16
- Hat sich bedankt: 12 Mal
- Danksagung erhalten: 77 Mal
Re: Performance verbessern
Ja, Boris hat sehr viel Zeit in sein Projekt gesteckt. Schade ist dass Alaska dies nun mit httpendpoint() versucht nachzubauen ...brandelh hat geschrieben: ↑Mi, 06. Mai 2020 12:37 Boris muss da viel Arbeit reingesteckt haben um die Threads gleichzeitig erledigen zu lassen und eine Website zu berechnen ist nicht sooo viel Arbeit bei kleineren Firmen.
Ich denke, dass bevor die Kerne ein Problem bei Web-Anwendungen werden, geht vorher die TCP/IP Leitung bzw. der Datenbank Server in die Knie.
Wenn du in der Webanwendung einige gleichzeitige Klicks hast für die du mit L&L ein PDF (AB/Rechnung) erstellen musst bist du mit einem Kern richtig schnell völlig Platt, bevor du die TCP/IP Leitung oder die Datenbank auch nur annähernd in die Knie zwingst.
Valar Morghulis
Gruss Carlo
Gruss Carlo
- brandelh
- Foren-Moderator
- Beiträge: 15697
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: Performance verbessern
Ich habe ja ein Testprogramm, das mit meiner HBPrintPDF Klasse die QuickPDF DLL (Delphi) nutzt um 10.000 PDF zu erzeugen.
Während des Laufs sehe ich normal auf die Entwicklung des Speicherverbrauchs um ein Speicherleck auszuschliesen.
Nun kann man aber auch im Resourcen Monitor die CPU Belastung sehen, ich habe einen i5-4670 also 4 echte Kerne.
Die CPU Gesamtbelastung liegt etwa bei 55%, im Hintergrund kann ich locker mein Siedler Online spielen ...
Aber man kann auch auf die einzelnen Kerne sehen:
CPU0 = 75 % Auslastung
CPU1 = 50 % Auslastung
CPU2 = 50 % Auslastung
CPU3 = 50 % Auslastung
wenn das Programm fertig ist, gehen alle wieder runter ... ich kann es nicht beweißen, aber so wie ich das sehe,
verteilt die QuickPDF DLL die Aufträge vom Xbase++ Programm auf alle 4 Kerne.
Dauer: 117 Sekunden für 10.000 PDF, also 85 PDF pro Sekunde (da steht nicht viel drin, 1 Seite Text ohne Datenbank) auf einer SSD
Ich weiß nicht wie L&L die Aufgabe erledigt, aber ich kann mir nicht vorstellen, dass es schneller ginge, wenn auch die Xbase++ Anwendung auf 4 Kernen liefe
Aber nochmal ich bin da nicht der Experte.
Während des Laufs sehe ich normal auf die Entwicklung des Speicherverbrauchs um ein Speicherleck auszuschliesen.
Nun kann man aber auch im Resourcen Monitor die CPU Belastung sehen, ich habe einen i5-4670 also 4 echte Kerne.
Die CPU Gesamtbelastung liegt etwa bei 55%, im Hintergrund kann ich locker mein Siedler Online spielen ...
Aber man kann auch auf die einzelnen Kerne sehen:
CPU0 = 75 % Auslastung
CPU1 = 50 % Auslastung
CPU2 = 50 % Auslastung
CPU3 = 50 % Auslastung
wenn das Programm fertig ist, gehen alle wieder runter ... ich kann es nicht beweißen, aber so wie ich das sehe,
verteilt die QuickPDF DLL die Aufträge vom Xbase++ Programm auf alle 4 Kerne.
Dauer: 117 Sekunden für 10.000 PDF, also 85 PDF pro Sekunde (da steht nicht viel drin, 1 Seite Text ohne Datenbank) auf einer SSD
Ich weiß nicht wie L&L die Aufgabe erledigt, aber ich kann mir nicht vorstellen, dass es schneller ginge, wenn auch die Xbase++ Anwendung auf 4 Kernen liefe
Aber nochmal ich bin da nicht der Experte.
Gruß
Hubert
Hubert
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2518
- Registriert: Mi, 28. Jul 2010 17:16
- Hat sich bedankt: 12 Mal
- Danksagung erhalten: 77 Mal
Re: Performance verbessern
Hallo Hubert
Es würde viel viel schneller, nein extrem schneller gehen wenn die Anwendung auf mehreren Kernen liefe.
Nach Aussage des L&L Supports und den eigenen Erfahrungen erledigt L&L den Job immer auf genau dem Kern auf welchem der Thread des aufrufenden Programms läuft.Ich weiß nicht wie L&L die Aufgabe erledigt, aber ich kann mir nicht vorstellen, dass es schneller ginge, wenn auch die Xbase++ Anwendung auf 4 Kernen liefe
Es würde viel viel schneller, nein extrem schneller gehen wenn die Anwendung auf mehreren Kernen liefe.
Valar Morghulis
Gruss Carlo
Gruss Carlo
- AUGE_OHR
- Marvin
- Beiträge: 12911
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
Re: Performance verbessern
hi,
nun hatte ich es mit Xbase++ ActiveX und mittels DispHelper.DLL probiert und DispHelper ist bis zu Faktor 40 (!) schneller
es ist mit "Ausgabe" am Bildschirm was ja entscheidend für die Geschwindigkeit unter GUI ist.
nun ist es NICHT der ActiveX "Befehl" der itself langsam ist ...
es ist die Xbase++ "Verwaltung" des Event System wo es nur ein "Zeit-Fenster" hat.
ich "feuere" mit DispHelper einfach alles ab bis Windows ihn Stop.
die Xbase++ App "füttert" Mappoint ( was eine App ist ) nur mit Daten und hat mit der Darstellung nichts zu tun.
Mappoint selbst ist nun multi-Core fähig das bei solchen Daten Sinn macht
---
wie schon gesagt muss sich 1 x CPU "um alles kümmern" und an der Stelle "könnte" man was machen.
alles was "In/Out-Put" angeht hat nichts mit Berechnungen zu tun und kann im eigenen Thread laufen.
wenn man die Daten in "kleine Häppchen" aufteilt und viele CPU-Core einsetzt dann kommt man schneller zu einem Ergebnis (ala SETI).
was du mit QuickPDF.DLL schilderst hatte ich auch mit Mappoint beobachtet : alle CPU-Core und HT laufen
nun hatte ich es mit Xbase++ ActiveX und mittels DispHelper.DLL probiert und DispHelper ist bis zu Faktor 40 (!) schneller
es ist mit "Ausgabe" am Bildschirm was ja entscheidend für die Geschwindigkeit unter GUI ist.
nun ist es NICHT der ActiveX "Befehl" der itself langsam ist ...
es ist die Xbase++ "Verwaltung" des Event System wo es nur ein "Zeit-Fenster" hat.
ich "feuere" mit DispHelper einfach alles ab bis Windows ihn Stop.
die Xbase++ App "füttert" Mappoint ( was eine App ist ) nur mit Daten und hat mit der Darstellung nichts zu tun.
Mappoint selbst ist nun multi-Core fähig das bei solchen Daten Sinn macht
---
wie schon gesagt muss sich 1 x CPU "um alles kümmern" und an der Stelle "könnte" man was machen.
alles was "In/Out-Put" angeht hat nichts mit Berechnungen zu tun und kann im eigenen Thread laufen.
wenn man die Daten in "kleine Häppchen" aufteilt und viele CPU-Core einsetzt dann kommt man schneller zu einem Ergebnis (ala SETI).
gruss by OHR
Jimmy
Jimmy
- mikehoffmann
- Rekursionen-Architekt
- Beiträge: 133
- Registriert: Mo, 21. Sep 2015 16:22
- Hat sich bedankt: 1 Mal
- Danksagung erhalten: 18 Mal
Re: Performance verbessern
Hallo Carlo,
wenn es um Berechnungen geht und man nur LOCALs und keine Objekte verwendet, gibt es keine Möglichkeit, die Anzahl der Befehle pro Sekunde zu erhöhen. Das liegt daran, dass es keine Typen in Xbase gibt, auf die man sich verlassen könnte, und wie die Daten abgelegt werden. Das ist für Berechnungen ziemlich die schlimmste Art und Weise, die man nehmen könnte. An eine Aufteilung auf mehrere CPUs in der Hoffnung, es würde schneller, ist deswegen nicht zu denken. Ich sag's mal plakativ: 99% der CPU-Zyklen werden auf Verwaltung verballert, 1% auf die eigentliche Berechnung.
Die Sache mit den Funktionsaufrufen in Xbase bringt das zusätzliche Problem, dass Wertparameter vom Original abgekoppelt werden müssen. Das muss auch jedesmal geprüft werden. Und daran, dass der Stack nicht so einfach verwendet werden kann, wie es z.B. bei C++ der Fall ist. Da sind ein paar Dinge bei jedem Fuktionsaufruf mehr zu erledigen. Das ist alles eine Folge des zunächst wahrgenommenen Komm-vors, den uns die Sprache bietet, der aber irgendwo zu bezahlen ist. Und das sind die Kosten.
Bleibt die Frage, ob der Code des Xbase Runtime-Systems bei mathematischen Operationen besser sein könnte. Da lautet die Antwort: Nein, das eine Prozent funktioniert optimal.
Ergo: Geht nicht.
Viele Grüße
Michael
wenn es um Berechnungen geht und man nur LOCALs und keine Objekte verwendet, gibt es keine Möglichkeit, die Anzahl der Befehle pro Sekunde zu erhöhen. Das liegt daran, dass es keine Typen in Xbase gibt, auf die man sich verlassen könnte, und wie die Daten abgelegt werden. Das ist für Berechnungen ziemlich die schlimmste Art und Weise, die man nehmen könnte. An eine Aufteilung auf mehrere CPUs in der Hoffnung, es würde schneller, ist deswegen nicht zu denken. Ich sag's mal plakativ: 99% der CPU-Zyklen werden auf Verwaltung verballert, 1% auf die eigentliche Berechnung.
Die Sache mit den Funktionsaufrufen in Xbase bringt das zusätzliche Problem, dass Wertparameter vom Original abgekoppelt werden müssen. Das muss auch jedesmal geprüft werden. Und daran, dass der Stack nicht so einfach verwendet werden kann, wie es z.B. bei C++ der Fall ist. Da sind ein paar Dinge bei jedem Fuktionsaufruf mehr zu erledigen. Das ist alles eine Folge des zunächst wahrgenommenen Komm-vors, den uns die Sprache bietet, der aber irgendwo zu bezahlen ist. Und das sind die Kosten.
Bleibt die Frage, ob der Code des Xbase Runtime-Systems bei mathematischen Operationen besser sein könnte. Da lautet die Antwort: Nein, das eine Prozent funktioniert optimal.
Ergo: Geht nicht.
Viele Grüße
Michael
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2518
- Registriert: Mi, 28. Jul 2010 17:16
- Hat sich bedankt: 12 Mal
- Danksagung erhalten: 77 Mal
Re: Performance verbessern
Hallo Michael
wir sind mit dem Thema ein wenig abgeschweift zu verschiedene Aufgaben parallel zu bearbeiten.
Mit dem Grundproblem hast du recht. Eine Zeitlang konnte man den Komfort der Xbase Sprache durch schnellere Maschinen noch ausgleichen. Nun müsste man in die "breite" auf mehr Kerne gehen können. Das würde jedoch die einzelne berechnung auch nicht verschnellern.
Was geholften hat ist den alten C und ASM Code in eine DLL zu packen und so aufzurufen.
wir sind mit dem Thema ein wenig abgeschweift zu verschiedene Aufgaben parallel zu bearbeiten.
Mit dem Grundproblem hast du recht. Eine Zeitlang konnte man den Komfort der Xbase Sprache durch schnellere Maschinen noch ausgleichen. Nun müsste man in die "breite" auf mehr Kerne gehen können. Das würde jedoch die einzelne berechnung auch nicht verschnellern.
Was geholften hat ist den alten C und ASM Code in eine DLL zu packen und so aufzurufen.
Valar Morghulis
Gruss Carlo
Gruss Carlo
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9374
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 102 Mal
- Danksagung erhalten: 361 Mal
- Kontaktdaten:
Re: Performance verbessern
Nun, ich werde keinen LKW verwenden, um an einem Autorennen teilzunehmen, und wenn ich einem Kumpel beim Umzug helfe, werde ich dafür nicht den Chiron aus der Garage holen (obwohl er mal wieder an die Luft müsste). Xbase++ ist sicher keine Programmiersprache, die für mathematisch-wissenschaftliche Zwecke - etwa für Statistik, wie die Sprache "R" - genutzt werden sollte, oder bevorzugt ausgewählt, wenn ein solches Projekt konzipiert wird. Auch wenn man das inhaltlich mit dieser Sprache kann, gibt es andere Sprachen, mit denen das besser geht. Und umgekehrt. Der "Komm-Vor", wie es Michael so nett nennt, wird erkauft, wie auch die enorme Potenz einer für statistische Zwecke konzipierten Umgebung mit Nachteilen in anderen Bereichen bezahlt wird. Das ist nichts, worüber man sich beschweren muss.
Herzlich,
Tom
Tom
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2518
- Registriert: Mi, 28. Jul 2010 17:16
- Hat sich bedankt: 12 Mal
- Danksagung erhalten: 77 Mal
Re: Performance verbessern
Hallo Tom
du hast echt eine Chiron in der Garage?? Mit der würde ich auch gerne ein wenige rumspielen...... hätte da einige Projekte ......
du hast echt eine Chiron in der Garage?? Mit der würde ich auch gerne ein wenige rumspielen...... hätte da einige Projekte ......
Valar Morghulis
Gruss Carlo
Gruss Carlo
- AUGE_OHR
- Marvin
- Beiträge: 12911
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
Re: Performance verbessern
hi,
schon mal einen VW-Bus mit Elektro Antrieb erlebt der für Dragster Rennen umgebaut wurde ...
der hängt auch einen Bugatti auf der 1/4 Meile ab
wenn man ein Fahrzeug hätte was man für den entsprechenden Zweck umrüsten könnte ...
so bleibt es bei der Software. ASM Code ist hoch optimiert und kein OOP was "relative" langsam ist.
hinzu kommt die "Verwaltung" der Xbase++ Event Schleife die immer länger wird -> koste mehr Zeit.
eine v1.8x App ist deshalb auch schneller als eine v1.9x App ... da gab es noch keinen visual Style
unnötig zu sagen das eine v1.9.x GUI App unter XP gut 20% schneller läuft als unter Windows 10 (selbe Hardware / multi-Boot)
schon mal einen VW-Bus mit Elektro Antrieb erlebt der für Dragster Rennen umgebaut wurde ...
der hängt auch einen Bugatti auf der 1/4 Meile ab
wenn man ein Fahrzeug hätte was man für den entsprechenden Zweck umrüsten könnte ...
so bleibt es bei der Software. ASM Code ist hoch optimiert und kein OOP was "relative" langsam ist.
hinzu kommt die "Verwaltung" der Xbase++ Event Schleife die immer länger wird -> koste mehr Zeit.
eine v1.8x App ist deshalb auch schneller als eine v1.9x App ... da gab es noch keinen visual Style
unnötig zu sagen das eine v1.9.x GUI App unter XP gut 20% schneller läuft als unter Windows 10 (selbe Hardware / multi-Boot)
gruss by OHR
Jimmy
Jimmy
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9374
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 102 Mal
- Danksagung erhalten: 361 Mal
- Kontaktdaten:
Re: Performance verbessern
Hallo, Carlo.
Viel cooler als das Original ist allerdings dieser hier: https://www.youtube.com/watch?v=ImUMHbmQOoQ
Klar. Aber ich fahre den selten, weil die vielen Bentleys und Lambos die Ausfahrt versperren, und mir und meinen Bediensteten ist die Umparkerei immer zu umständlich.du hast echt eine Chiron in der Garage?
Viel cooler als das Original ist allerdings dieser hier: https://www.youtube.com/watch?v=ImUMHbmQOoQ
Herzlich,
Tom
Tom
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2518
- Registriert: Mi, 28. Jul 2010 17:16
- Hat sich bedankt: 12 Mal
- Danksagung erhalten: 77 Mal
Re: Performance verbessern
Hallo Tom
da haben wir wohl eine kapitale Verwechslung ..... gebastelt.
Ich dachte mit Chiron meinst du eine CNC - Werkzeugmaschine.
Zu den von dir erwähnten Automarken habe ich leider keinen Bezug.
Aber wenn schon würde mir der besser gefallen: https://youtu.be/uP7yw40HF5o
da haben wir wohl eine kapitale Verwechslung ..... gebastelt.
Ich dachte mit Chiron meinst du eine CNC - Werkzeugmaschine.
Zu den von dir erwähnten Automarken habe ich leider keinen Bezug.
Aber wenn schon würde mir der besser gefallen: https://youtu.be/uP7yw40HF5o
Valar Morghulis
Gruss Carlo
Gruss Carlo
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9374
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 102 Mal
- Danksagung erhalten: 361 Mal
- Kontaktdaten:
Re: Performance verbessern
Äh, Carlo.
Aha. Es hat also keinen Sinn, Dich als Umzugshelfer zu kontaktieren, weil Du nicht mit einem Auto kämst, sondern mit einer CNC-Fräsmaschine? (Denn meine Erwähnung des (Bugatti) Chiron war in diesem Zusammenhang. Okay, mit dem kann man auch keine Umzüge machen. Aber darum ging es ja.)Ich dachte mit Chiron meinst du eine CNC - Werkzeugmaschine.
Herzlich,
Tom
Tom
- brandelh
- Foren-Moderator
- Beiträge: 15697
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2518
- Registriert: Mi, 28. Jul 2010 17:16
- Hat sich bedankt: 12 Mal
- Danksagung erhalten: 77 Mal
Re: Performance verbessern
Hallo Tom
Den Namen Chiron kannte ich bis jetzt nur von den CNC Maschinen die ich schon transportiert habe...... weder von gleichnamigen Autos oder wie Hubert meint Göttern habe ich je etwas gehört .....
zu einem Umzug käme ich natürlich (wie immer) mit einem LKW mit einem heckbeladbaren Sattelauflieger mit festen Wänden und genügend Zurrgurten ......
Den Namen Chiron kannte ich bis jetzt nur von den CNC Maschinen die ich schon transportiert habe...... weder von gleichnamigen Autos oder wie Hubert meint Göttern habe ich je etwas gehört .....
Valar Morghulis
Gruss Carlo
Gruss Carlo