You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Original bug ID: 1913 Reporter: administrator Assigned to:@mshinwell Status: resolved (set by @mshinwell on 2016-12-06T20:50:11Z) Resolution: fixed Priority: normal Severity: feature Category: ~DO NOT USE (was: OCaml general) Monitored by: bobot
Bug description
Bonjour,
pas vraiment un bug mais un comportement génant d'ocamlopt: il semble
que le code correspondant à une fonction soit généré même si toutes
les occurrences d'appel de la fonction ont été inlinés. Ça n'est pas
bien génant pour des fonctions globales mais dans le cas de figure qui
m'intéresse (une fonction locale au sein d'une fonction récursive),
c'est assez catastrophique. Mon code a l'allure suivante:
let rec f i =
let f' () = f (i+1) in
f' ()
L'inlining est fait correctement mais la douzaine d'instructions de
construction de la clôture est un peu couteuse (en particulier à cause
de l'allocation mémoire).
Est-ce qu'on peut améliorer ça ? Sinon je vais revoir mon style
de programmation :-(
--Pascal
The text was updated successfully, but these errors were encountered:
Original bug ID: 1913
Reporter: administrator
Assigned to: @mshinwell
Status: resolved (set by @mshinwell on 2016-12-06T20:50:11Z)
Resolution: fixed
Priority: normal
Severity: feature
Category: ~DO NOT USE (was: OCaml general)
Monitored by: bobot
Bug description
Bonjour,
pas vraiment un bug mais un comportement génant d'ocamlopt: il semble
que le code correspondant à une fonction soit généré même si toutes
les occurrences d'appel de la fonction ont été inlinés. Ça n'est pas
bien génant pour des fonctions globales mais dans le cas de figure qui
m'intéresse (une fonction locale au sein d'une fonction récursive),
c'est assez catastrophique. Mon code a l'allure suivante:
let rec f i =
let f' () = f (i+1) in
f' ()
L'inlining est fait correctement mais la douzaine d'instructions de
construction de la clôture est un peu couteuse (en particulier à cause
de l'allocation mémoire).
Est-ce qu'on peut améliorer ça ? Sinon je vais revoir mon style
de programmation :-(
--Pascal
The text was updated successfully, but these errors were encountered: