Trừ khi bộ nhớ là cực kỳ chặt chẽ, kích thước của một bản sao của những tệp này không phải là yếu tố quyết định chính. Cho rằng đây là một hệ thống nhúng, bạn có thể có một ý tưởng tốt về những ứng dụng sẽ được sử dụng thư viện của bạn và khi nào. Nếu ứng dụng của bạn mở và đóng nhiều thư viện nó tham chiếu một cách dè dặt, và bạn không bao giờ có tất cả các thư viện mở đồng thời, thì thư viện chia sẻ sẽ là một khoản tiết kiệm đáng kể trong RAM.
Yếu tố khác bạn cần xem xét là hình phạt hiệu suất. Việc mở một thư viện được chia sẻ sẽ mất một lượng thời gian nhỏ (thường là tầm thường); nếu bạn có bộ xử lý rất chậm hoặc các yêu cầu thời gian thực khó thực hiện, thư viện tĩnh sẽ không chịu phạt tải của thư viện được chia sẻ. Hồ sơ để tìm xem điều này là quan trọng hay không.
Để tổng hợp, các thư viện được chia sẻ có thể tốt hơn đáng kể so với các thư viện tĩnh trong một số trường hợp đặc biệt. Trong hầu hết các trường hợp, họ làm ít hoặc không có hại. Trong các tình huống đơn giản, bạn sẽ không nhận được lợi ích từ các thư viện được chia sẻ.
Tất nhiên, thư viện được chia sẻ sẽ tiết kiệm đáng kể trong Flash nếu bạn sử dụng cùng một thư viện. Nếu bạn sử dụng một thư viện tĩnh, một bản sao (có kích thước tương tự như thư viện được chia sẻ [1]) sẽ được biên dịch thành từng bản. Điều này rất hữu ích khi bạn đang ở trên một máy trạm PC. Nhưng bạn biết điều đó. Bạn đang làm việc với thư viện chỉ được một ứng dụng sử dụng.
[1] Sự khác biệt bộ nhớ của các tệp thư viện riêng lẻ nhỏ. Thư viện được chia sẻ thêm bảng chỉ mục và biểu tượng để dlopen(3)
có thể tải thư viện. Có hay không điều này là đáng kể sẽ phụ thuộc vào trường hợp sử dụng của bạn; biên dịch cho mỗi và sau đó so sánh các kích thước để xác định kích thước nào nhỏ hơn trong Flash. Bạn sẽ phải chạy và cấu hình để xác định tiêu thụ RAM nhiều hơn; chúng phải giống nhau ngoại trừ tải ban đầu của thư viện được chia sẻ.
Nguồn
2011-10-19 13:21:29