Concours de rentrée 2019 - défi de Python
Re: Concours de rentrée 2019 - défi de Python
Bonsoirs, vous avez augmenté à combien le nombre de points max ? :3
-
EncephalogrammeGénéreux
Niveau 8: ER (Espèce Rare: nerd)- Posts: 150
- Joined: 08 Jul 2019, 22:18
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: Première
Re: Concours de rentrée 2019 - défi de Python
C'est sur ces estimations de tas?
Le chiffre de 90k c'est l'estimation de la mémoire de travail de l'application Python, qui utilise le tas parce que l'interpréteur est codé comme ça. Ce résultat me paraît fiable, d'autant plus que le pointeur de tas a justement bougé et est passé dans la deuxième moitié (inexploitée jusqu'alors) de la RAM. Avant la Graph 35+E II, le tas faisait 48k.
Le chiffre de 128k c'est la taille du tas de la Prizm, qui est vérifiable dans le menu constructeur (OPTN, x10^, AC/ON puis 5, 9, 6, 3) sur la Prizm et sur la Graph 90+E. (Ce menu n'existe plus ou a été caché sur la Graph 35+E II).
Bonsoirs, vous avez augmenté à combien le nombre de points max ? :3
Je pense qu'il est impossible de monter au-dessus de 53/54.
-
LephePartenaire
Niveau 11: LV (Légende Vivante)- Posts: 387
- Images: 42
- Joined: 15 Jun 2018, 19:53
- Gender:
- Calculator(s):→ MyCalcs profile
Re: Concours de rentrée 2019 - défi de Python
Ok merci pour la réponse, je pars aussi sur une cinquantaine de points :3
-
EncephalogrammeGénéreux
Niveau 8: ER (Espèce Rare: nerd)- Posts: 150
- Joined: 08 Jul 2019, 22:18
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: Première
Re: Concours de rentrée 2019 - défi de Python
Lephe wrote:C'est sur ces estimations de tas?
Le chiffre de 90k c'est l'estimation de la mémoire de travail de l'application Python, qui utilise le tas parce que l'interpréteur est codé comme ça.
Pas sur. Les limites du tas de micro-python sont passes en parametre a l'initialisation de l'interpreteur, et par exemple sur Numworks, cela pointe sur une zone qui n'a rien a voir avec le "vrai" tas accessible par malloc/free. MicroPython a ses propres fonctions d'allocation qui pointent vers son propre tas.
Ce résultat me paraît fiable, d'autant plus que le pointeur de tas a justement bougé et est passé dans la deuxième moitié (inexploitée jusqu'alors) de la RAM. Avant la Graph 35+E II, le tas faisait 48k.
Justement le fait que le pointeur de tas a bouge me semble un signe que MicroPython a son propre tas sur les implementations Casio. Le tas accessible par malloc/free est peut-etre plus faible.
Le chiffre de 128k c'est la taille du tas de la Prizm, qui est vérifiable dans le menu constructeur (OPTN, x10^, AC/ON puis 5, 9, 6, 3) sur la Prizm et sur la Graph 90+E. (Ce menu n'existe plus ou a été caché sur la Graph 35+E II).
Ah oui, en effet. Quand je parse le programme, il me reste 63K de heap environ, 66K si j'efface l'historique. Par contre les variables semblent occuper plus que je ne pensais (pas loin de 50K), et le texte source aussi (12K pour 3.2K).
-
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)- Posts: 3654
- Joined: 13 Dec 2013, 16:35
- Gender:
- Calculator(s):→ MyCalcs profile
Re: Concours de rentrée 2019 - défi de Python
Éventuellement tu peux réutiliser la zone utilisée par MicroPython si ce n'est pas là que malloc() pointe. Facile à vérifier : regarde si les pointeurs obtenus par malloc() sont avant 0x88040000 ou après.
Peut-être quelque chose à repérer côté encodage des chaînes de caractères ?
Peut-être quelque chose à repérer côté encodage des chaînes de caractères ?
-
LephePartenaire
Niveau 11: LV (Légende Vivante)- Posts: 387
- Images: 42
- Joined: 15 Jun 2018, 19:53
- Gender:
- Calculator(s):→ MyCalcs profile
Re: Concours de rentrée 2019 - défi de Python
Je pense avoir un peu optimise pour le source, en reallouant les lignes a leur longueur exacte. On doit pouvoir gagner encore 1 ou 2K en optimisant la structure de donnees de ligne.
Utiliser la zone de micropython c'est trop complique, il faut detourner malloc, et je n'ai pas envie de gratter de la place (il me reste 400 octets de libre pour la taille de l'addin).
Utiliser la zone de micropython c'est trop complique, il faut detourner malloc, et je n'ai pas envie de gratter de la place (il me reste 400 octets de libre pour la taille de l'addin).
-
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)- Posts: 3654
- Joined: 13 Dec 2013, 16:35
- Gender:
- Calculator(s):→ MyCalcs profile
Re: Concours de rentrée 2019 - défi de Python
Salut, Pour les points P de pk(n,P) , peut on vraiment mettre n'importe quelle valeur, temps que ça fait un bon score ? Je peux par exemple mettre 100 000 à un pokémon sans que ça pose problème pour vous ?
-
EncephalogrammeGénéreux
Niveau 8: ER (Espèce Rare: nerd)- Posts: 150
- Joined: 08 Jul 2019, 22:18
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: Première
Re: Concours de rentrée 2019 - défi de Python
Aucun problème, mais avec 100000 je pense que ton Pokémon va éjecter les autres.
-
critorAdmin
Niveau 19: CU (Créateur Universel)- Posts: 41958
- Images: 15681
- Joined: 25 Oct 2008, 00:00
- Location: Montpellier
- Gender:
- Calculator(s):→ MyCalcs profile
- YouTube: critor3000
- Twitter: critor2000
- GitHub: critor
Re: Concours de rentrée 2019 - défi de Python
J'ai ajoute une fonction de diagnostics dans Xcas. Sauf erreur, une fois le programme interprete (en enlevant la detection hardware), les variables creees contiennent un peu moins de 1000 objets dynamiques (symboliques, vecteurs, chaines) et occupe 31K, a quoi il faut rajouter le necessaire pour gerer la memoire du miller d'objets dynamiques (2 allocations memoire par objet, donc je pense 4 pointeurs de 4 octets), on arrive a 45K environ. On passe donc sur la 90 a la premiere interpretation, mais on est a la limite sur la 90 si on reexecute l'interpretation (90K de variables, 10K de source, 3K de console), ca cadre bien avec les 128K de tas et les verifications avec le menu diagnostics de la Casio 90. Si la 35eii a environ 90K de tas, on devrait pouvoir passer en une seule passe, mais je n'y arrive qu'en scindant, je me demande si le tas ne fait pas plutot 64K.
-
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)- Posts: 3654
- Joined: 13 Dec 2013, 16:35
- Gender:
- Calculator(s):→ MyCalcs profile
Re: Concours de rentrée 2019 - défi de Python
Petite astuce de vérification pour ceux qui recopient leur code de participation à la main, car il peut alors y avoir des erreurs, et c'est le cas pour quelqu'un (averti par réponse).
Il y a obligatoirement un nombre pairs de caractères.
Il y a obligatoirement un nombre pairs de caractères.
-
critorAdmin
Niveau 19: CU (Créateur Universel)- Posts: 41958
- Images: 15681
- Joined: 25 Oct 2008, 00:00
- Location: Montpellier
- Gender:
- Calculator(s):→ MyCalcs profile
- YouTube: critor3000
- Twitter: critor2000
- GitHub: critor
Who is online
Users browsing this forum: ClaudeBot [spider] and 9 guests