Bu sorunun neden olduğuna emin değilim, ancak bir projede, derleyici bir modül derlemek için saatler alıyor. Kod tabanımın toplam boyutu 352 KB'dir, ancak modüllerin hiçbiri 10 KB büyüklüğündedir. Yerli bir bağlantı noktası kullanıyorum, ancak çok önemsiz; Sadece Date.now()
'u alıyorum.Elm Derleyici sonsuza dek çalışıyor, bilgisayar ısınıyor
Elm derleyicisinin sürekli olarak derlemesine neden olacak iyi bilinen bir şey var mı? Pek fazla bağımlılığım yok, ama Html'yi çok kullanıyorum. Buna neyin sebep olacağı ile ilgili ipuçlarını gerçekten takdir ediyorum.
Düzenleme yüzden büyük harf iyileştirici 0.16 itibariyle, uzun bir zaman almaya neden olacaktır getiren ifadeler çıkıyor. Sorunu getiren discussion on Elm-Discuss ve gist of the nasty case match.
Bence ayrıntılı olmak ve orada bir havuç bulundurmak için, elm'in derleyicisi bu eşleşmeyi neden bu eşleştirme için alır? Altta yatan makine nedir? Derleyici, bir vaka bildiriminde 60'dan fazla desen eşleşmesini optimize etmek için neden bir saatten uzun sürüyor?
Merak ediyorum. Elm derleyicisinin, bir vaka ifadesini derlemek için saatler sürdüğünü gösteren optimizasyon nedir? Vaka ifadeniz çok büyük görünmüyor (en azından bir bilgisayar için yeterince büyük değil). Bu, Elm derleyicisinin gerçekten gerçekten gerçekten gerçekten gerçekten gerçekten gerçekten gerçekten gerçekten gerçekten gerçekten gerçekten gerçekten gerçekten gerçekten gerçekten gerçekten gerçekten gerçekten gerçekten gerçekten gerçekten gerçekten gerçekten gerçekten çok kötü optimizasyon algoritmasına sahip olduğu anlamına gelir. Örneğin, tüm 721 pokemon ile bir vaka ifadesi derlemek için ne kadar süre gerektiğini düşünün. –
Sanırım cevap [burada] (https://github.com/elm-lang/elm-compiler/blob/master/src/Optimize/Case.hs), belki de 'haskell' etiketini eklemeyi denemelisiniz. Eğer haskell insanlar bize bir şey gösterebilir. – halfzebra
@halfzebra, Bu kodun ne yaptığını bilmiyorum, ama 'Int' tuşları ile' Data.Map' kullanan herhangi bir koddan çok şüpheliyim. Data.IntMap' genellikle bunun için çok daha hızlıdır. – dfeuer