Tôi có một dự án mà tôi muốn kiểm tra số học theo mặc định, ngoại trừ một điểm nhạy cảm về hiệu suất. Thật không may, VB.Net không có một khối 'không được kiểm soát'.Cách nhanh nhất để thực hiện thêm số nguyên không được kiểm tra trong VB.Net?
Lý tưởng nhất là khung sẽ có một số loại số nguyên với số học không được kiểm tra rõ ràng, nhưng tôi không tìm thấy bất kỳ thứ gì như thế. Tôi đã thấy rằng cây biểu thức có biểu thức nhị phân cho các hoạt động không được kiểm tra, nhưng chi phí đại biểu hủy bỏ lợi thế không được kiểm soát (và sau đó một số).
Hiện tại tôi đang chuyển đổi đầu vào thành UInt64/Int64 trước khi thực hiện số học, sau đó chuyển đổi lại (với bitwise và để đảm bảo trong phạm vi). Đó là khoảng 50% chậm hơn so với số học không được kiểm soát (theo hồ sơ).
Di chuyển phần số học nhạy cảm với một dự án có số học không được kiểm soát có thể hoạt động, nhưng có vẻ như quá mức cần thiết để cung cấp cho nó một bản lắp ráp cho chính nó.
C# lắp ráp thêm cho điều này có thể là quá mức cần thiết, nhưng bạn cũng có thể tạo một mô-đun từ tệp C# (một số tham số dòng lệnh cho trình biên dịch), và sau đó sử dụng ILmerge để hợp nhất nó với cụm VB.NET của bạn. – OregonGhost