Mich hat interessiert, in wie fern sich die Compiler von gcbasic zwischen Wine und natives Linux unterscheiden. Mit wineconsole steht ein Tool zur Verfügung um Windowsprogramme, die ein Commandline Interface haben, direkt aufzurufen ohne den Umweg über die Windows GUI zu benutzen.
Rufe ich also
time winesconsole --backend=curses exit
​auf, kommt man auf eine Ausführungszeit von
wineconsole: real 0m0,223s user 0m0,024s sys 0m0,024s
Dies ist also der Overhead des Wine Systems und muß beim Ergebnis der Untersuchung berücksichtigt werden.
Das kleine Demo Programm 040_Rotate_the_LEDS.gcb, das für das Board StartPic18 im Demo Ordner beretgestellt ist, dient hier als nicht repräsentive Basis.
time wineconsole --backend=curses GreatCowBasic/gcbasic.exe 040_Rotate_the_LEDS.gcb real 0m2,182s user 0m0,032s sys 0m0,040s time gcbasic 040_Rotate_the_LEDS.gcb real 0m0,430s user 0m0,368s sys 0m0,020s
​Den Overhead abgezogen, dauert also das compilieren eines kleinen Basic Programmes mit wine ziemlich genau 2 Sekunden. Das compilieren mit dem nativen Basic Compiler unter Linux dauert weniger als 0.5 Sekunden.
Der Compiler in der nativen Linux Ausprägung ist also ca. 4 mal so schnell.
Der wine normalerweise keine so großen Einbußen hat, stellt sich die Frage, woran liegt das?