Limites de temps d’exécution des solutions des apprenants
MATLAB® Grader™ applique une limite de temps d’exécution de 60 secondes. Le chronomètre démarre quand l’apprenant clique sur Run, Run Function ou Submit. Il s’arrête quand le software renvoie la sortie et les résultats des tests d’évaluation. Si le temps d’exécution total dépasse la limite, l’apprenant reçoit le message d’erreur suivant : « The server timed out while running and assessing your solution » (Le délai d’attente du serveur a expiré pendant l’exécution et l’évaluation de votre solution).
Il peut arriver que les apprenants parviennent à exécuter leur solution sans erreur mais reçoivent ensuite un message d’erreur d’expiration du délai d’attente lorsqu’ils la soumettent. Cette situation se produit lorsque la solution de référence et les tests d’évaluation entraînent un temps d’exécution total supérieur à la limite.
Pour estimer le temps d’exécution requis par une solution de référence, exécutez-la avec MATLAB Online™. L’environnement de calcul de MATLAB Online est semblable à MATLAB Grader. Estimez ensuite le temps d’exécution des soumissions selon que l’élément d’évaluation est un script ou une fonction. Si vous estimez qu’un élément d’évaluation risque de nécessiter un temps d’exécution supérieur à 60 secondes, remaniez-le ou supprimez-le.
Éléments d’évaluation de type script
Pour un élément d’évaluation de type script, quand l’apprenant clique sur Run, sa solution s’exécute une seule fois. Quand il clique sur Submit, MATLAB Grader exécute la séquence d’actions suivante :
Solution de référence
Solution de l’apprenant
Tous les tests d’évaluation dans l’ordre séquentiel
Les erreurs d’expiration du délai d’attente sont généralement dues à des erreurs dans la solution de l’apprenant, un code inefficace ou un affichage excessif des sorties à l’écran.
Éléments d’évaluation de type fonction
Pour un élément d’évaluation de type fonction, quand l’apprenant clique sur Run Function, le code saisi dans Code to call your function s’exécute une seule fois. Quand il clique sur Submit, les tests d’évaluation s’exécutent dans l’ordre séquentiel. Chaque test d’évaluation exécute la fonction de l’apprenant et la fonction de référence.
Par exemple, la soumission d’un élément d’évaluation avec trois tests d’évaluation exécute la solution de l’apprenant et la solution de référence une fois par test. Si les solutions de l’apprenant et de référence s’exécutent chacune en 10 secondes environ, le temps d’exécution estimé est de 60 secondes. Il est probable que les apprenants recevront un message d’erreur d’expiration du délai d’attente.