2013-09-27 291 views
5

Trong ứng dụng của tôi, tôi tạo ra các lớp phi tiêu lớn. Ngay bây giờ tôi biên dịch chúng trên máy chủ, mà mất thời gian CPU. Sẽ tốt hơn nếu biên dịch mã Dart trong trình duyệt. Mã này sau đó được nạp thông qua spawnURI.Biên dịch phi tiêu trong trình duyệt

Có thể gọi trình biên dịch dart2js từ bên trong mã Dart theo cách được hỗ trợ vì nó được thực hiện trong try.dartlang.org hay tôi cần phải sao chép trình biên dịch vào dự án của tôi?

+1

Đó là ... không rõ ràng những gì bạn đang cố gắng làm. Bạn biên dịch Dart sang JS chỉ một lần, đúng không? Bên cạnh try.dartlang.org còn biên dịch trên máy chủ. Trình biên dịch dart2js không được viết bằng JavaScript, bạn không thể chạy nó trên trình duyệt. – JJJ

+0

Chúng tôi muốn tìm hiểu thêm về trường hợp sử dụng của bạn. Bạn có thể hỏi tại [email protected]? –

+0

Juhana, nhưng dart2js được viết bằng phi tiêu, bạn có thể biên dịch với dart2js thành javascript. Âm thanh đệ quy, nhưng đó là nó như thế nào;) –

Trả lời

4

Soạn Dart thành JavaScript sẽ nhanh hơn trên máy chủ, vì bạn có thể chạy dart2js qua máy ảo Dart. try.dartlang.org đang chạy trong một phiên bản đặc biệt của dart2js, chưa được hợp nhất vào mã nguồn chính.

+0

Đó là những gì tôi mong đợi: ( –

+0

Bạn có thể cho chúng tôi biết thêm về lý do bạn muốn biên dịch trên máy khách không? Nó sẽ chậm hơn. Cảm ơn nền. –

+1

Vì Mỗi yêu cầu của dart2js tiêu thụ ít nhất 3,5s trên máy chủ, vì tôi không có một máy chủ, nhưng thực sự chỉ là một máy chủ ảo nhỏ xử lý nhiều máy khách sẽ chặn nó hoàn toàn, ví dụ nếu 10 client quyết định kích hoạt dart2js biên dịch cùng lúc, người cuối cùng phải đợi tới 35. Vì vậy, ngay cả khi biên dịch ở phía máy khách sẽ mất nhiều hơn 3.5, nó có lẽ sẽ nhanh hơn trên máy chủ được nạp đầy đủ của tôi (cũng có các công cụ khác để làm) Ngoài ra, mỗi khách hàng sẽ không chỉ kích hoạt trình biên dịch một lần mà còn nhiều lần trong một thời gian ngắn. –