Deutsch   English   Français   Italiano  
<vm3ng2$dmh$1@rasp.pasdenom.info>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!feeds.phibee-telecom.net!2.eu.feeder.erje.net!feeder.erje.net!proxad.net!feeder1-2.proxad.net!usenet-fr.net!pasdenom.info!.POSTED.2a01:e34:ecb6:4110:3701:cee3:eca5:7e2a!not-for-mail
From: Jo Engo <yl@icite.fr>
Newsgroups: fr.comp.lang.c,fr.comp.os.linux.configuration
Subject: Re: =?UTF-8?B?UsOpY3Vyc2l2aXTDqQ==?=
Followup-To: fr.comp.os.linux.configuration
Date: Mon, 13 Jan 2025 18:53:55 -0000 (UTC)
Organization: <http://pasdenom.info/news.html>
Message-ID: <vm3ng2$dmh$1@rasp.pasdenom.info>
References: <vm0ncs$vus$1@rasp.pasdenom.info>
	<vm16hg$64d$1@cabale.usenet-fr.net> <vm258a$1l9pk$1@dont-email.me>
	<vm35fc$km3$1@rasp.pasdenom.info>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Injection-Date: Mon, 13 Jan 2025 18:53:55 -0000 (UTC)
Injection-Info: rasp.pasdenom.info; posting-account="yl@usenet"; posting-host="2a01:e34:ecb6:4110:3701:cee3:eca5:7e2a";
	logging-data="14033"; mail-complaints-to="abuse@pasdenom.info"
User-Agent: Pan/0.161 (Chasiv Yar; )
Cancel-Lock: sha1:gS62lflse5bmZe3SGPbVVS440Nk= sha256:r/ADeFKnRP9l5U7JDUS1mSJ8+sj5nBSr3KHgyEtcdLU=
	sha1:oKf0CKEwyinuQU024O8OsNeHvJ8= sha256:nktGjR4cNn+94UopqL2ZNY6T/CFxr2H/MsNgTMm7IPw=
Bytes: 3769
Lines: 41

Le Mon, 13 Jan 2025 14:46:20 +0100, kurtz le pirate a écrit :

> Je veux porter cette fonction dans un autre environnement, et c'est là
> qu'il y a des problèmes dus à la saturation de la pile.

Il y a moyen de maitriser, mais ce n'est pas toujours évident. Imagine 
qu'il existe une fonction baguette-magique qui transforme ta fonction 
récursive en fonction «linéaire» (je mets les guillemets à «linéaire» 
parce que ça veut dire autre chose), il y a beaucoup de chance que ta 
fonction sortie de la boîte magique) soit aussi gourmande en pile et en 
mémoire. Il y a souvent moyen (voir ma première phrase) de corriger cette 
tendance, mais si ce n'est pas une dead-lock, que lorsqu'il a suffisamment 
de ressources, il se termine,il vaut mieux tuner le système hôte (si c'est 
une machine virtuelle, c'est facile de tricher en lui donnant plus de 
ressourc)e, autrement c'est précisément ces limites qui donne tout 
l'intérêt
à régler finement ces paramètres (ploum ploum, la taille de la (ou des) 
piles, quitte à dédier une pile à l'application que tu essaie de porter : 
l'avantage c'est que tu ne change ni le code C, ni les	capcités
de la machine). Tu intervient entre les deux (mais il faudra quand même 
recompiler le programme. Quel est le système de la machine source ? celui 
de la machine cible (et sa RAM et son CPU (nombre de cœurs, nombre de 
thread). Comme je disais plus haut, il s'agit de ne toucher qu'au système 
d'exploitation (taille du swap, taille de la pile, RAM Disks inutiles et 
gourmands) et soit d'ajuster la pile système soit adjoindre une pile au 
programme (ce qui nécessite quelques ajustements (et tu pourra revenir sur 
fclc pour ça) mineur en tout cas moindre que la mise à plat de ton 
programme). Il faut que tu saches un truc : c'est que les processeurs 
actuels sont tout à fait capables de "mettre à plat" le code machine 
qu'ils ingurgitent. C'est une optimisation qu'ont tous les processeurs 
modernes. Quel est le système-hôte (je sais que l'autre système est un 
linux, c'est pourquoi je mets le suivi sur fcolc.

Essaie aussi de voir s'il n'y a pas une fonction standard qui fait 
exactement ce que tu veux, ou qui puisse suffisamment être paramétrée pour 
faire l'affaire.

bèlané, lasse en thé et toutes ces sortes de chose.
-- 
Il y a beaucoup de choses que nous aimerions jeter si nous n'avions
pas peur que d'autres les ramassent. 
	-+- Oscar Wilde -+-