2013-03-27 39 views
9

Có các tùy chọn, ngoại trừ -O0, có thể tăng tốc thời gian biên dịch không?Tăng tốc biên dịch trong GHC

Việc các chương trình thu được sẽ không được tối ưu hóa không quan trọng. Trên thực tế tôi muốn chỉ cần gõ-kiểm tra gói haskell lớn thường xuyên và nhanh chóng.

Cờ -fno-code tăng tốc đáng kể biên dịch nhưng không thể sử dụng vì TemplateHaskell được chương trình này sử dụng.

+2

Nếu bạn không thay đổi nhiều mô-đun giữa các biên dịch và giữ các tệp đối tượng và giao diện xung quanh, không nên có quá nhiều mô-đun cần được biên dịch lại trong mỗi chu kỳ. Điều đó không đủ tốt sao? –

+0

Trên thực tế không, bởi vì hầu hết các phần của dự án này được tạo ra thông qua TH trong đơn (cuối cùng trong trình biên dịch) mô-đun. –

+1

Urk. Trong trường hợp đó, tôi không có ý tưởng làm thế nào bạn có thể tăng tốc độ nó lên. –

Trả lời

6

Có vẻ như một nhiệm vụ cho hdevtools! Hdevtools được sử dụng như một phụ trợ cho vim-plugin cùng tên và nó cung cấp cú pháp nhanh chóng và kiểm tra kiểu, trực tiếp từ trình soạn thảo. Nó nhanh bằng ghci khi nạp lại các mô-đun. Tôi cho rằng nó có thể được sử dụng từ dòng lệnh.

Một giải pháp thay thế khác là giữ một cá thể ghci đang chạy và sử dụng loại đó để kiểm tra mô-đun của bạn.

+1

Cảm ơn, hdevtools thật tuyệt vời! Nó dễ sử dụng hơn thay vì ghci. Thật không may hdevtools không hoạt động với cabal và cabal-dev, nhưng nó có thể vượt qua các tùy chọn ghc cần thiết. –

+0

Vâng. Có để vượt qua các tùy chọn để làm cho nó làm việc với cabal-dev là bit gây phiền nhiễu, nhưng điều này có vẻ là một 'tính năng' phổ biến với các công cụ như vậy. – aleator

2

Tôi đã tìm thấy việc chia nhỏ các tệp lớn có thể tăng tốc biên dịch.

Các vấn đề liên quan