Tôi đã đọc rằng với phi tiêu ứng dụng của bạn có thể bắt đầu lên đến 10x nhanh hơn vì ảnh chụp nhanh. Bất cứ ai có thể giải thích những gì nó thực sự là và làm thế nào nó hoạt động? Trong loại ứng dụng nào tôi sẽ sử dụng ảnh chụp nhanh?Khái niệm chụp nhanh trong phi tiêu là gì?
Trả lời
Ảnh chụp nhanh của Dart giống như Smalltalk images theo nghĩa là chúng cho phép khởi động ứng dụng gần như ngay lập tức. Tuy nhiên, không giống như hình ảnh Smalltalk, Snapshots không lưu trữ trạng thái chương trình.
Điều này đặc biệt hữu ích trong các thiết bị di động chậm hơn vì chúng vốn chậm hơn và bị giới hạn bởi bộ nhớ nhiều hơn hệ thống máy tính để bàn. Lý do đó và thực tế là việc sử dụng pin khiến chúng tôi đóng các chương trình không cần thiết làm cho tốc độ khởi động trở nên quan trọng.
Làm nổi bật địa chỉ của sự cố khởi động chậm này với tính năng heap snapshot, tương tự như hệ thống hình ảnh của Smalltalk. Heap của một ứng dụng được duyệt qua và tất cả các đối tượng được ghi vào một tệp đơn giản. Lưu ý: tại thời điểm này, phân phối Dart phân phối với công cụ kích hoạt máy ảo Dart, tải mã của ứng dụng và ngay trước khi gọi chính, nó sẽ chụp nhanh heap. Máy ảo Dart có thể sử dụng tệp ảnh chụp nhanh này để tải nhanh ứng dụng.
Tính năng chụp nhanh cũng được sử dụng để tuần tự hóa các đồ thị đối tượng đang được gửi giữa các giá trị cách ly Dart (được tuần tự hóa với SnapshotWriter).
Hiện tại tôi không biết cách nào để bắt đầu chụp nhanh hoặc xử lý chúng. Trong tương lai, tôi hy vọng nó có thể để phục vụ một tập tin ảnh chụp từ máy chủ web và có được xử lý bởi trình duyệt Dart VM ngay lập tức.
Định dạng bản chụp nhanh là ý nghĩa đa nền tảng mà nó hoạt động giữa các máy 32 bit, 64 bit, v.v. Các định dạng đã được thực hiện để nó nhanh chóng để đọc vào bộ nhớ với một sự nhấn mạnh vào việc giảm thiểu thêm công việc như sửa chữa con trỏ.
Dưới đây là các mã nguồn cho snapshot.cc: http://code.google.com/p/dart/source/browse/trunk/dart/runtime/vm/snapshot.cc
và các bài kiểm tra: http://code.google.com/p/dart/source/browse/trunk/dart/runtime/vm/snapshot_test.cc
Vì vậy, lý do tại sao nó có thể tăng tốc độ một khởi động ứng dụng bằng hệ số 10 là vì nó không một bó mã nguồn giống như JavaScript được gửi dưới dạng và được xử lý từ từ sau đó.
Và bạn muốn sử dụng ở đâu? Bất cứ nơi nào bạn có thể có thể. Về phía máy chủ, nó về cơ bản đã xảy ra cho bạn (và không quan trọng thực sự). nhưng ở phía khách hàng, điều đó là không thể chưa. Theo tôi hiểu nó, nó sẽ có thể để phục vụ các ảnh chụp nhanh cho trình duyệt để khởi động ngay lập tức, nhưng bạn thực sự phải chờ đợi vì nó không có sẵn như của bây giờ.
- 1. Khái niệm swimlane trong YouTrack là gì?
- 2. Khái niệm đằng sau R.java là gì?
- 3. Khái niệm về Array.map là gì?
- 4. Khái niệm sủi bọt là gì?
- 5. Khái niệm về một hội trong .NET là gì?
- 6. Khái niệm cơ bản đằng sau WaitHandle là gì?
- 7. Khái niệm chung đằng sau XSS là gì?
- 8. Khái niệm di dời có nghĩa là gì?
- 9. Các khái niệm git của HEAD, master, origin là gì?
- 10. Khái niệm đằng sau 'Xử lý GC được ghim' là gì?
- 11. Java khái niệm ý tưởng
- 12. Git "Ảnh chụp nhanh" là gì?
- 13. Khái niệm kiến trúc mới
- 14. vấn đề khái niệm trong Liên minh
- 15. MasterPage như khái niệm trong python
- 16. khái niệm điểm chuỗi trong java
- 17. Mô-đun khái niệm cho C++
- 18. Các khái niệm: Kênh so với luồng
- 19. Khái niệm cốt lõi trong lập trình chức năng là gì?
- 20. Khái niệm đơn hoặc đa luồng trong khu vực của hệ thống tệp là gì?
- 21. Ý nghĩa của khái niệm serialization trong ngôn ngữ lập trình là gì?
- 22. Tại sao khái niệm Marshalling được gọi là như vậy?
- 23. NHỎ CÔNG POCO/Khái niệm cơ bản
- 24. Nén dòng CUDA: hiểu khái niệm
- 25. MVC DropDownListfor() Khái niệm cơ bản
- 26. Câu hỏi khái niệm về Python Threading
- 27. Vui lòng xác định khái niệm nhanh về số giờ cốt lõi
- 28. Câu hỏi khái niệm Về Java Concurrency
- 29. Regex với phi chụp nhóm trong C#
- 30. Khó khăn trong khái niệm NULL trong C?
Lưu ý rằng chúng tôi đã thấy cải tiến khởi động là 10X khi sử dụng ảnh chụp nhanh để tải dart2js. –
@SethLadd bạn có thể xây dựng ý nghĩa của mình không? Hoặc có thể chỉnh sửa câu trả lời của tôi - đây là một wiki sau tất cả :) –
Thử nghiệm ban đầu cho thấy rằng bắt đầu từ dart2js từ ảnh chụp nhanh hơn 10 lần so với khởi động dart2js từ mã nguồn. Nó vẫn còn sớm, nhưng dữ liệu trông đầy hứa hẹn. –