Я проверяю, насколько большой может быть коллекция в .Net.Технически, любой объект коллекции может увеличиваться до размера физической памяти.
Затем я протестировал следующий код на сервере, который имеет 16 ГБ памяти, работает под управлением Windows 2003 Server и Visual Studio 2008. Я протестировал оба кода F # и C # и посмотрел на диспетчере задач во время работы.Я вижу, что после примерно 2 ГБ памяти программа вылетала с исключением из-за нехватки памяти.Я установил целевую платформу на x64 на странице свойств.
open System.Collections.Generic
let d = new Dictionary<int, int>()
for i=1 to 1000000000 do
d.Add(i,i)
Я провел такой же тест для библиотеки C5 .В результате словарь в C5 может занимать всю память.Код использует C5:
let d = C5.HashDictionary<int, int> ()
for i=1 to 1000000000 do
d.Add(i,i)
Кто-нибудь знает почему?