Tu ne peux vraiment pas présager la durée de vie de tes variables, ni comment elles vont être utilisées. Tu peux juste faire des suppositions en l'air…
Curieux, j'aurais dit tout le contraire. Prenons un exemple
defhigher_frequency(l,n):"""Assumes l contains n kind of values."""histo=[0]*nforvinl:histo[v]+=1returnmax(histo)
Le compilateur a toutes les informations pour décider que histo est un tableau avec une durée de vie faible, qu'il n'est jamais aliasé et que sa taille ne change pas après sa définition. Au lieu d'utiliser une classe tableau générique (implémentant un compteur de référence etc) on peut basculer sur un tableau natif.
[^] # Re: allocation de tableau
Posté par serge_sans_paille (site web personnel) . En réponse au journal pythran rampe. Évalué à 4.
Curieux, j'aurais dit tout le contraire. Prenons un exemple
Le compilateur a toutes les informations pour décider que
histoest un tableau avec une durée de vie faible, qu'il n'est jamais aliasé et que sa taille ne change pas après sa définition. Au lieu d'utiliser une classe tableau générique (implémentant un compteur de référence etc) on peut basculer sur un tableau natif.Pythran ne le fait pas …