π
<-
Chat plein-écran
[^]

Firmware 11.1.0 tiers: Python avec 32K/40K mémoire travail !

Firmware 11.1.0 tiers: Python avec 32K/40K mémoire travail !

Message non lude Admin » 08 Sep 2019, 13:48


La NumWorks offre à ce jour l'implémentation Python la plus riche sur calculatrice, avec 188 éléments builtins et pas moins de 6 modules complémentaires dont le module graphique kandinsky et le module de tracé turtle. :bj:

C'est a priori une aubaine pour le nouvel enseignement numérique NSI de Première au lycée à compter de cette rentrée 2019. :)

Sauf que la NumWorks se traîne également un véritable boulet niveau mémoire. Elle dispose de :
  • 16 Kio de mémoire de stockage pour les scripts Python
  • 16 Kio de mémoire de travail pour l'exécution des scripts Python, comme le report notre script de test

Or les 16 Kio de mémoire de travail constituent la plus faible valeur toute concurrence confondue ! :mj:

Etant ainsi très à l'étroit, faire fonctionner des scripts Python un minimum conséquents, comme par exemple avec une interface texte ou graphique, relève d'un véritable défi d'optimisation à l'aveugle comme nous avions déjà pu nous en rendre compte avec les scripts de notre concours de rentrée 2018. :'(

A noter que ces 16 Kio sont une limite logicielle. Matériellement la NumWorks offre bien davantage avec 256 Kio de mémoire SRAM.

La limite dépendra bien évidemment du contenu de chaque script et des habitudes de codage de chacun, mais le plus gros script que nous avons pu exécuter jusqu'à présent et fort péniblement sur NumWorks faisait près de 3,75 Ko soit, 23,5% de la capacité de travail totale.

En effet, lorsque l'interpréteur Python importe un script pour exécution :
  • tout le texte du script est chargé dans la mémoire de travail
  • tous les objets y étant définis (fonctions, variables, ...) sont alors créés en mémoire de travail en tant qu'objets Python utilisables, si bien qu'ils y seront alors présents en double exemplaire (une version texte, et une version Python)

Or, nous ne sommes pas en C mais en Python. Les objets Python ça prend beaucoup de place, beaucoup plus que ce que tu as saisi dans le script :
  • 24 octets juste pour un entier court
  • 49 octets rien que pour une chaîne de caractères vide
  • 64 octets pour une simple liste vide
  • 136 octets pour une fonction vide sans paramètres
  • ... :#roll#:

1150311504Ce problème vient d'être signalé chez nous une énième fois hier, cette fois-ci par cent20 dans le cadre d'un script sur les polynômes du second degré muni d'une interface texte pour ses élèves de Première. Un script dépassant les 6 Ko et n'ayant donc strictement aucune chance de marcher en l'état sur NumWorks.

Suite à cela, Lionel Debroux a décidé de s'attaquer au problème.

Il vient donc tout juste de compiler un firmware NumWorks 11.1.0 amélioré, avec une application Python qui s'alloue 32 Kio de mémoire de travail, de quoi enfin pouvoir un peu respirer ! :bj:
Et en prime, c'est mieux que les 20 Kio des TI-83 Premium CE ! ;)
De quoi désormais pouvoir espérer exécuter des scripts Python faisant jusqu'à 7 Ko. :)

Une autre version, plus expérimentale toutefois car s'arrangeant avec d'autres choses, t'offrira même 40 Kio de mémoire de travail pour l'exécution de tes scripts Python ! :#tritop#:


En suivant les liens ci-après, tu peux dès maintenant installer facilement ce firmware si tu disposes de l'ancien modèle NumWorks N0100.

Pour la nouvelle NumWorks N0110, nous ne disposons pas encore d'outil grand public permettant d'installer un firmware non officiel.


Toutefois, l'amélioration a été soumise à l'équipe NumWorks. Espérons qu'elle sera acceptée et donc disponible dès la prochaine mise à jour pour NumWorks N0110 également. ;)

Téléchargements :
Lien : outil en ligne d'installation de firmware NumWorks N0100 (nécessite le navigateur Google Chrome)
 
Ce compte ne reçoit pas de MP / This account does not receive PMs.
Avatar de l’utilisateur
AdminAdmin
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 0.5%
 
Messages: 458
Images: 28
Inscription: 30 Aoû 2011, 11:00
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile

Re: Firmware 11.1.0 tiers: Python avec 32K/40K mémoire trava

Message non lude coco33920 » 08 Sep 2019, 14:00

Super B-)
Maintenant on a un peu plus de place
Merci à vous :D
Dev OCaml, see Baguette# and HTMLFromTeXBooks
Étudiante en mathématique et informatique

Github : https://github.com/coco33920/
Avatar de l’utilisateur
coco33920Premium
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Prochain niv.: 76.8%
 
Messages: 60
Inscription: 14 Oct 2017, 18:09
Localisation: Sol III, Sector 001, UFP
Genre: Femme
Calculatrice(s):
MyCalcs profile
Classe: MP/I
Twitter/X: coco33920_r
GitHub: coco33920

Re: Firmware 11.1.0 tiers: Python avec 32K/40K mémoire trava

Message non lude Lionel Debroux » 08 Sep 2019, 14:23

Merci pour la news :)

Toi et moi avons passé beaucoup plus de temps à trouver comment produire un binaire flashable avec WebDFU, et le tester, que trouver où faire ce changement trivial d'une ligne dans le code source (et d'une autre ligne pour la version 40 KB)...
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Avatar de l’utilisateur
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 11.2%
 
Messages: 6858
Inscription: 23 Déc 2009, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: -
GitHub: debrouxl

Re: Firmware 11.1.0 tiers: Python avec 32K/40K mémoire trava

Message non lude cent20 » 08 Sep 2019, 14:33

critor a écrit:Toutefois, l'amélioration a été soumisé à l'équipe NumWorks. Espérons qu'elle sera acceptée et donc disponible dès la prochaine mise à jour également pour NumWorks N0110. ;)


Donc si vous aussi vous souhaitez obtenir 32ko pour l'exécution des scripts python nativement sur la numworks, sans avoir à flash quoique se soit, il faut appuyer le Pull request, soit en cliquant sur le pouce en l'air sur cette page, soit en ajoutant un commentaire constructif (on peut aussi troller mais avec finesse !).

Tant que vous y êtes, appuyez aussi cette requête : Implement get_keys, wait_vblank in kandinsky qui est indispensable pour commencer à faire des jeux en python sur la numworks. :D
Image
Enseignant de mathématiques et d'informatique. Spécialité NSI : Des projets, des tutos, mais aussi de l'art
Calculatrice NumWorks : Des applications et des jeux, scripts, 📙 Découvrir la NumWorks
Avatar de l’utilisateur
cent20VIP++
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 45.9%
 
Messages: 1007
Images: 64
Inscription: 17 Mai 2012, 09:49
Localisation: Avignon
Genre: Homme
Calculatrice(s):
MyCalcs profile
Twitter/X: nsi_xyz

Re: Firmware 11.1.0 tiers: Python avec 32K/40K mémoire trava

Message non lude Wistaro » 08 Sep 2019, 23:43

Excellent, bravo :)

C'est vrai que 16 kio, c'est un peu ridicule comme mémoire...
Nouveau sur le site, Anonymous ? Avant de poster sur le chat et sur le forum, n'oublie pas de lire les règles. En cas de problème, tu peux m'envoyer un message, je réponds rapidement.

Liens utiles:
Image
Découvre mes programmes et mon site!
Avatar de l’utilisateur
WistaroSuper Modo
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 87.5%
 
Messages: 3152
Images: 37
Inscription: 25 Fév 2013, 16:21
Localisation: Toulouse
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: Ingénieur en électronique
YouTube: Wistaro
Twitter/X: Wistaro
GitHub: Wistaro


Retourner vers News NumWorks

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 7 invités

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
Phi NumWorks jailbreak
123
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
804 utilisateurs:
>783 invités
>16 membres
>5 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)