π
<-
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 !

Unread postby critor » 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 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, 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
)
Image
User avatar
critorAdmin.
Niveau 18: DC (Deus ex Calculatorum)
Niveau 18: DC (Deus ex Calculatorum)
Level up: 98.3%
 
Posts: 33746
Images: 8795
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
Class: Lycée
YouTube: critor3000
Twitter: critor2000
Facebook: critor.ti

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

Unread postby coco33920 » 08 Sep 2019, 14:00

Super B-)
Maintenant on a un peu plus de place
Merci à vous :D
I think I can safely say that nobody understands quantum mechanics

La nature de la physique ( The Character of Physical Law ) (1967), Richard Feynman


Github : https://github.com/coco33920/
User avatar
coco33920Premium
Niveau 10: GR (Guide de Référence)
Niveau 10: GR (Guide de Référence)
Level up: 60.8%
 
Posts: 44
Joined: 14 Oct 2017, 18:09
Location: Sol III, Sector 001, UFP
Gender: Female
Calculator(s):
Class: Terminale S SII
Twitter: coco33920_r
GitHub: coco33920

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

Unread postby 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.
User avatar
Lionel DebrouxModo.G
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 5.2%
 
Posts: 6392
Joined: 23 Dec 2009, 00:00
Location: France
Gender: Male
Calculator(s):
Class: -
GitHub: debrouxl

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

Unread postby cent20 » 08 Sep 2019, 14:33

critor wrote: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
Bonjour Anonymous !

Intéressé par la spécialité NSI en 1ère
?
Visite donc
https://nsi.xyz !
User avatar
cent20Premium
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 56.3%
 
Posts: 104
Images: 6
Joined: 17 May 2012, 09:49
Location: Avignon
Gender: Male
Calculator(s):

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

Unread postby 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 . 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!
User avatar
WistaroModo.G
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 60.1%
 
Posts: 2846
Images: 37
Joined: 25 Feb 2013, 16:21
Location: Toulouse
Gender: Male
Calculator(s):
Class: Etudiant ingénieur (Ex TS - SI)
YouTube: Wistaro
Twitter: @Wistaro
GitHub: Wistaro


Return to News NumWorks

Who is online

Users browsing this forum: No registered users and 4 guests

-
Search
-
Featured topics
Concours TI-Planet-Casio de rentrée 2019. 3 défis pour plus d'une 15aine de calculatrices graphiques et nombre de goodies sortant de l'ordinaire ! :D
Comparaisons des meilleurs prix pour acheter sa calculatrice !
12
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...

Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety 
-
Stats.
544 utilisateurs:
>496 invités
>42 membres
>6 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)