- Chưa cho phép người dùng đưa đữ liệu của mình vào để thử nghiệm
Trước tiên, độc lập nền cĩ nghĩa là các file chứa mã lệnh cĩ thê chạy trên
bất kì nền nào, vào thời gian chạy trình biên dịch cuỗi sẽ hoạt động và mã cĩ thê
chạy trên một nên cụ thể. Nĩi cách khác việc dịch mã nguồn sang Intermediate Language cho phép độc lập nền trong .NET, nĩ giống như cách dịch mã nguồn
sang Java byte code cung cấp sự độc lập nền trong Java.
Sự cải tiến trong thực thi
Mặc dù chúng ta đã so sánh với Java, IL thật sự cĩ một chút khả quan hơn Java. IL luơn là trình biên dịch mmựnh, ngược lại Java byte code thì thường là
thơng dịch. Một trong những bất lợi của Java là vào lúc thực thi quá trình dịch từ Java byte code sang mã máy tơn nhiêu tài nguyên.
Thay vì phải dịch tồn bộ ứng dụng một lần, trình biên dịch JIT sẽ biên
dịch từng phần mã khi nĩ được gọi. Khi mã được dịch rồi, mã kết quả sẽ được
giữ lại cho tới khi thốt khỏi ứng dụng, chính vì thế nĩ khơng phải biên dịch lại trong lần chạy kế tiếp. Microsoft quả quyết rằng cách xử lí này cĩ hiệu lực cao hơn là dịch tồn bộ ứng dụng, bởi vì cĩ trường hợp một khối lượng lớn mã của ứng dụng khơng bao giờ được sử dụng trong thời gian chạy. Khi sử dụng trình
biên dịch JLT, các đoạn mã này sẽ khơng bao giờ được dịch.
Chính vì thế nhà cung cấp hi vọng rằng mã IL sẽ thực thi nhanh như là mã máy. Lời lí giải là, lần dịch cuối cùng trong thời gian chạy, trình biên địch JIT sẽ biết chính xác loại vi xử lí mà chương trình sẽ chạy. Cĩ nghĩa là nĩ cĩ thể tối ưu
mã thi hành cuỗi cùng bằng cách tham chiếu đến các đặc trưng của từng các bộ