Và tại sao? Có một quá trình khởi động và biên dịch quá trình biên dịch thực, nhưng phần nào tiêu tốn nhiều thời gian nhất?Tại sao gói MacHC của GHC mất quá nhiều thời gian để biên dịch?
Trả lời
Một số quá trình xây dựng diễn ra khá lâu, và lượng thời gian phụ thuộc rất lớn vào tốc độ CPU của bạn và thời gian xử lý có thể được dành cho bản dựng.
Nếu bạn lo lắng rằng nó có thể bị treo tại một thời điểm nhất định, hãy chạy install
với cờ -v
để nhận thêm đầu ra mô tả liên quan đến quá trình xây dựng. Do đó, lệnh sẽ có dạng như sau:
sudo port -v install [portfile]
Cũng như dự án lớn và phức tạp như thế nào, loại ổ cứng mà hộp đang sử dụng, v.v. – NotMe
Phải - tôi đang khá chung chung, nhưng tất nhiên kích thước của dự án, số lượng tệp, trình biên dịch/tiện ích xây dựng đang được sử dụng, số lượng phụ thuộc, tốc độ đọc/ghi, v.v. đều góp phần vào khoảng thời gian cần thiết. – nearlymonolith
Có thể mất một lúc. Khi tôi sử dụng để biên dịch nó trên iBook G4 của tôi, nó mất đến 7 giờ. Ngay cả trên MacBook Pro với nhiều RAM và bộ xử lý nhanh, có thể mất 2-3 giờ.
Xây dựng GHC nổi tiếng vì đã mãi mãi. Tôi đã nghe những câu chuyện kinh dị về việc mất hơn 8 giờ để xây dựng nguồn. Từ những gì tôi hiểu, chủ yếu là do việc xây dựng mặc định của GHC cố gắng thực hiện một số lượng tối ưu hóa lớn để tăng tốc hiệu suất thời gian chạy của riêng nó. Ngay cả với một hệ thống dựng sẵn một phần (đó là những gì tôi tin rằng macports cung cấp) quá trình này vẫn có thể mất một lúc vì tất cả các liên kết.
EDIT: Xem sau http://hackage.haskell.org/trac/ghc/wiki/Building/Using#HowtomakeGHCbuildquickly
Đây là câu trả lời chính xác: GHC mất nhiều thời gian để biên dịch hơn bất kỳ phần mềm nào tôi biết. Tôi đã xây dựng nó trong hơn 8 giờ trên i3 của tôi. – Mikhail
Từ góc nhìn Gentoo:
Trong Gentoo, mọi thứ đều được biên dịch. Những gì chúng tôi làm cho GHC là chúng tôi xây dựng một phiên bản mới của GHC từ phiên bản cũ hơn để tạo phiên bản khởi động nhị phân, sau đó đóng gói và cho phép người dùng sử dụng phiên bản đó để biên dịch phiên bản mới.
Từ bộ nhớ, việc biên dịch nhị phân có thể mất nhiều hơn gấp đôi thời gian (mất khoảng 45 phút để sử dụng nhị phân để biên dịch phiên bản mới trên máy tính xách tay của tôi). Có một số khác biệt (tài liệu được xây dựng và vận chuyển với nhị phân thay vì mỗi người dùng tự xây dựng nó) nhưng không có gì mà tôi có thể thấy để tính toán sự khác biệt lớn như vậy. Ebuild thực tế được sử dụng để xây dựng cả nhị phân và cho người dùng cuối có thể được tìm thấy ở đây (cho phép cờ ghcbootstrap có nghĩa là nó xây dựng nhị phân, cho phép cờ nhị phân nghĩa là người dùng cài đặt và sử dụng nhị phân dựng sẵn thay vì tự xây dựng GHC): http://code.haskell.org/gentoo/gentoo-haskell/dev-lang/ghc/ghc-6.12.3.ebuild
Như vậy, tôi đoán rằng đó là quá trình khởi động ban đầu mất quá nhiều thời gian nếu Macports thực sự xây dựng một nhị phân khởi động ban đầu (đặc biệt nếu nó làm như vậy từ bản phát hành C-only cuối cùng và khởi động theo cách của bạn lên phiên bản bạn thực sự muốn cài đặt).
Đây là câu trả lời duy nhất mà ít nhất là cố gắng trả lời câu hỏi. –
- 1. Tại sao quá trình biên dịch mất quá nhiều thời gian?
- 2. Tại sao /^(.+)+Q$/.test("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ") mất quá nhiều thời gian?
- 3. Tại sao biên dịch hơn 100.000 dòng std :: vector :: push_back mất nhiều thời gian?
- 4. Tại sao việc biên dịch thông qua MSBuild mất nhiều thời gian hơn thông qua IDE?
- 5. Tại sao đá quý của tôi mất quá nhiều thời gian để tải?
- 6. Tại sao hình ảnh của tôi mất quá nhiều thời gian để tải?
- 7. Tại sao quá trình biên soạn D mất quá lâu?
- 8. Visual Studio - Tại sao tệp .ASPX mất quá nhiều thời gian để tải hơn tệp .ASPX.CS?
- 9. Tại sao hoạt ảnh gif mất quá nhiều thời gian để tải?
- 10. Tại sao Android AVD mất quá nhiều thời gian để khởi động?
- 11. Tại sao phải mất quá nhiều thời gian để in "\ n" trong Perl?
- 12. Tại sao Visual Studio mất quá nhiều thời gian để xóa một tệp
- 13. Tại sao TemplateHaskell khiến GHC tải gói?
- 14. DOM mất quá nhiều thời gian để phản hồi
- 15. Tại sao gửi công việc đến mapreduce mất quá nhiều thời gian trong General?
- 16. Truy vấn LINQ to Entities mất nhiều thời gian để biên dịch, SQL chạy nhanh
- 17. Tại sao phải mất quá nhiều thời gian để tải giải pháp của tôi trong Visual Studio?
- 18. trạng thái git mất quá nhiều thời gian
- 19. Tại sao Dart có biên dịch hằng số thời gian?
- 20. Chức năng bỏ qua nếu mất quá nhiều thời gian
- 21. Cách tìm thử rspec nào mất quá nhiều thời gian
- 22. Chức năng hết thời gian chờ nếu mất quá nhiều thời gian để hoàn thành
- 23. Java Regex lookahead mất quá nhiều thời gian
- 24. offsetof tại thời gian biên dịch
- 25. Chạy PublicResXFileCodeGenerator tại thời gian biên dịch
- 26. Thời gian kiểm tra biên dịch tồn tại của stdint.h
- 27. Tại sao trình biên dịch không biết địa chỉ của các biến cục bộ tại thời gian biên dịch?
- 28. Thời gian biên dịch hồ sơ
- 29. Tại sao ứng dụng được lưu trữ trên Heroku mất quá nhiều thời gian để khởi động?
- 30. Tăng tốc biên dịch trong GHC
Bạn biết bạn có thể tải xuống trình biên dịch dựng sẵn và tập hợp thư viện cho OS X không? http://hackage.haskell.org/platform/mac.html –
Tôi hiểu rằng có vấn đề với interop giữa phiên bản dựng sẵn và Macports. – hampurter
OK, tôi không cần bất cứ điều gì liên quan đến Haskell từ Macports. Trình cài đặt nền tảng và Cabal là đủ. –