web-dev-qa-db-fra.com

Elm Compiler fonctionne pour toujours, l'ordinateur devient chaud

Je ne sais pas ce qui cause ce problème, mais dans un projet, je construis, le compilateur prend des heures juste pour compiler un module. La taille totale de ma base de code est de 352 Ko, mais aucun des modules ne dépasse 10 Ko. J'utilise un port natif, mais c'est très trivial; Je récupère juste Date.now() avec.

Y a-t-il quelque chose de bien connu qui ferait que le compilateur Elm prenne une éternité pour être compilé? Je n'ai pas beaucoup de dépendances, mais j'utilise beaucoup le HTML. J'apprécierais vraiment tout indice sur ce qui pourrait provoquer cela.

Éditer

Il s'avère donc que les expressions majuscules feront que l'optimiseur prendra beaucoup de temps, à partir de 0,16. Voici le discussion sur Elm-Discuss soulevant le problème, et un Gist of the nasty case match .

Je suppose que pour être verbeux et garder une carotte là-bas, pourquoi le compilateur d'Elm prendrait-il cette route pour la mise en correspondance des cas? Quel est le mécanisme sous-jacent qui se passe ici? Pourquoi le compilateur prendrait-il plus d'une heure pour optimiser plus de 60 correspondances de modèles sur une déclaration de cas?

98
Athan Clark

Les expressions majuscules entraîneront une longue période de temps pour l'optimiseur, à partir de 0,16. Voici le discussion sur Elm-Discuss soulevant le problème, et un Gist of the nasty case match .

2
Philip Whitehouse