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 -+-