Come ha accennato Cesko, la lentezza dipende da molti fattori.
Riguardo la shell, in teoria sarebbe solo una chiamata al so, per cui i tempi sono quelli relativi ai sistemi di accesso e alle librerie su cui si basa Gambas.
Però, una volta che sei dentro la shell, la velocità è quella del so, e Gambas entra solo per quanto riguarda il ritorno.
Se, e dico se, fai un loop di chiamate al so tramite shell, ovviamente i tempi di elaborazione si sommano ai tempi di accesso al so, e per lunghe procedure questo diventa più che tangibile.
Ora, non sò come tu abbia costruito la funzione, ma credo tu debba pensarla in modo da ridurre i vari colli di bottiglia.
Infine, fare paragoni con altri linguaggi, seppur simili, credo sia fuorviante, perchè gli approcci possono essere completamente diversi, anche se all'apparenza simili.
Riguardo ai linguaggi interpretati, il discorso varia molto dalla struttura sui cui si poggiano. Per dirla breve, Gambas si appoggia su librerie consolidate, ma che sono completamente slegate dal questo linguaggio (vedi ad esempio le lib grafiche kde e gtk), mentre altri linguaggi sempre interpretati hanno un substrato costruito ad-hoc, per cui il passaggio è più diretto alle funzioni di accesso al sistema. I vari strati, e il loro numero, determinano la risposta in termini di velocità del prodotto finale. Un esempio: Java, linguaggio indipedente dal so, ma costruito su un suo proprio substrato di libreria C/Asm, che sono a loro volta legate e diverse per tipo di sistema.
Spero di aver chiarito i concetti...
Bye