Tôi nghĩ mọi thứ đều có trong tiêu đề, nhưng để cung cấp thêm ngữ cảnh. Chúng tôi có hai gói 70+ có thời gian biên dịch khá khác nhau: Một lần mất nhiều gấp đôi thời gian khác (không tính đến sự song song tài khoản). Tôi muốn biết mô-đun nào mất nhiều thời gian nhất để hiểu rõ hơn về những gì gây ra sự khác biệt này.Có cách nào để lập hồ sơ thời gian biên dịch cho mỗi mô-đun với GHC không?
Trả lời
Không chắc chắn nếu bạn có nghĩa là 70+ gói hoặc 70+ module, nhưng dù sao ...
Tôi không thể nghĩ ra cách nào đặc biệt dễ dàng để làm điều này. Bạn có thể thử với thời gian chính xác khi GHC viết thư của nó lên bảng điều khiển; Tôi không chắc nó chính xác như thế nào. Nếu không, tôi đoán bạn sẽ phải tìm ra thứ tự biên dịch chính xác, và gọi GHC thủ công để biên dịch một mô-đun cùng một lúc và sử dụng các công cụ cấp độ hệ điều hành để thời gian mỗi lệnh biên dịch mất bao lâu. (Có lẽ tính năng tạo Makefile tự động của GHC có thể giúp ...)
Đó là có thể để biên dịch GHC với định dạng được kích hoạt, nhưng tôi không nghĩ điều đó sẽ hữu ích trong trường hợp này. (Và đó là khá nhiều công việc.)
FWIW, tôi cũng sẽ muốn biết lý do tại sao một số module mất một vĩnh cửu nhỏ để biên dịch trong khi những người khác gần như ngay lập tức ...
Cảm ơn. Tôi nghĩ rằng tôi có một giải pháp emrbyonic dựa trên '-dshow-passes' để tính một số thống kê cho mỗi module (và có, ý tôi là 70 modules vì tôi muốn biết module nào mất nhiều thời gian nhất, dễ dàng hơn cho các gói) . Tôi đã bắt đầu viết một số công cụ rất đơn giản để trích xuất thông tin đó từ các thống kê xây dựng và kết xuất. – insitu
- 1. Thời gian biên dịch hồ sơ
- 2. Hỗ trợ thời gian chạy ghc cho hồ sơ được triển khai như thế nào?
- 3. Có ý nghĩa từ hồ sơ GHC
- 4. Thời gian mỗi tệp cần biên dịch với ant
- 5. Lập hồ sơ thực thi với cabal
- 6. Loại thời gian biên dịch không có RTTI với GCC
- 7. C++ g ++ llvm-clang trình biên dịch hồ sơ
- 8. Cách giảm thời gian biên dịch với các mẫu C++
- 9. Tại sao gói MacHC của GHC mất quá nhiều thời gian để biên dịch?
- 10. Biên dịch ghc với hỗ trợ -fPIC
- 11. Cách tính thời gian biên dịch gcc?
- 12. Biên dịch sang GHC Core
- 13. Làm thế nào để cho phép biên dịch thời gian biên dịch với Java 7 và maven
- 14. Làm cách nào để chỉ định tên cho chú thích tài nguyên trong thời gian biên dịch?
- 15. Lập hồ sơ các ứng dụng JNI
- 16. C++ Biên dịch chuỗi thời gian biên dịch
- 17. Tăng tốc biên dịch trong GHC
- 18. Lập hồ sơ ứng dụng Java Spring
- 19. Hằng số thời gian biên dịch Flex - Dấu thời gian
- 20. Tăng thời gian biên dịch biến với mỗi instantiation của một lớp generic
- 21. Chạy PublicResXFileCodeGenerator tại thời gian biên dịch
- 22. URI đã kiểm tra thời gian biên dịch
- 23. Lập hồ sơ các ứng dụng .NET với Đồng hồ bấm giờ
- 24. Làm thế nào để tìm ra nơi trình biên dịch dành thời gian của nó?
- 25. Hằng số thời gian biên dịch Clojure
- 26. Lỗi thời gian biên dịch Qt. .
- 27. Thời gian biên dịch Android với jack cực kỳ chậm
- 28. Có hồ sơ trực quan cho Python không?
- 29. offsetof tại thời gian biên dịch
- 30. Nhận thời gian biên dịch JAR
https://stackoverflow.com/ Câu hỏi/35375143/haskell-gỡ lỗi-dài-biên dịch-lần-on-stack-dự án – leftaroundabout
có, nhìn thấy câu hỏi đó nhưng không có câu trả lời bên cạnh một số lời khuyên chung về cách làm cho GHC nhanh hơn ... Hoặc có lẽ tôi đọc nó quá nhanh ? – insitu