Как я понимаю, ограничение на 2 ГБ для отдельных экземпляров в .NET. Я не обращал на это большого внимания, так как до сих пор я работал над 32-разрядной ОС. На 32, но это более или менее искусственное ограничение в любом случае. Однако я был очень удивлен, узнав, что this limitation also applies on 64 bit .NET.Отдельные объекты по-прежнему ограничены размером 2 ГБ в CLR 4.0?
Поскольку коллекции, такие как List<T>
, используют массив для хранения элементов, это означает, что приложение .NET, работающее на 32-битной основе, сможет удерживать в два раза больше элементов ссылочного типа в списке по сравнению с тем же приложением, работающим на 64-битном , Это довольно удивительно.
Кто-нибудь знает, исправлено ли это ограничение в CLR 4.0 (на данный момент у меня нет установленной версии 4.0).
Update 2012: На .NET 4.5, на 64-разрядных системах, разработчики теперь могут выделять объекты больше (гораздо больше), чем 2 Гб. Предел 2 ГБ мертв. http://www.centerspace.net/blog/nmath/large-matrices-and-vectors/?preview=true&preview_id=221&preview_nonce=7d1678c20c – Paul
Исправлена ссылка http://www.centerspace.net/blog/nmath/ large-matrices-and-vectors/ –
Даже исправленные ссылки мертвы :( – RBT