Bonjour, dans le cadre de mon projet de recherche, j'ai développé une application faisant certains calculs. Suivant les cas, les exemples que je veux calculer, je dois instancier ou non certains objets, les initialiser avec différentes valeurs, etc. En gros, d'une exécution sur l'autre, les calculs doivent être différents. Sauf que voilà, le projet devient assez gros pour que tout recompiler à chaque fois devienne non négligeable.
Justement, il se trouve que j'ai entendu parler des langages de script. Intéressant, de pouvoir changer le comportement du programme sans tout recompiler. Et, a priori, Lua me semblait être ce qu'il me fallait. Sauf que voilà, c'est un langage interprété, c'est donc a priori plus lent, et je ne peux pas me permettre la lenteur, les calculs sont importants.
Donc voilà mon interrogation :
- On peut appeler des fonctions Lua depuis C++ ;
- On peut appeler des fonctions C++ depuis Lua ;
Moi, ce dont j'aurais besoin, ce serait de créer un script de création des différents objets C++ dont j'ai besoin et d'appeler les méthodes appropriées. Alors que faut-il faire ?
- Faut-il créer un script Lua qui exécute des bouts de programme C++ ?
- Faut-il créer un petit programme qui se charge d'interpréter le script Lua, qui lui-même instancie des objets ?
Et surtout, ce qui m'intéresse, c'est les temps d'exécution. Aujourd'hui mon programme tourne bien. Donc a priori les scripts Lua rallongeraient un peu ; lorsqu'on crée un objet C++ depuis Lua ou qu'on appelle une fonction C/C++, le temps d'exécution de la fonction est bien le même que celui de départ ? L'augmentation de temps d'exécution est-elle uniquement liée à l'interprétation de la commande Lua (sachant qu'après tout est exécuté en C++) ?
Merci d'avance, je cherche un moyen de faire en sorte que le temps d'exécution additionnel ne soit proportionnel qu'au nombre d'appels & de créations d'objets, et non à la complexité du programme.
Le Barde.
Partager