Где тут соревнование по OutOfMemory ?
От: Аноним  
Дата: 11.06.13 15:54
Оценка:
Гдето тема была не могу найти, типа самая короткий код который вызовет OutOfMemory.
Где победила throw new OutOfMemoryException();

есть еще короче.
кому не хватит inta поставьте decimal.
  var b=new int[(int)2e9];
  var b=new decimal[(int)2e9];
//throw new OutOfMemoryException();
Re: Где тут соревнование по OutOfMemory ?
От: Don Reba Канада https://stackoverflow.com/users/49329/don-reba
Дата: 11.06.13 17:09
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Гдето тема была не могу найти, типа самая короткий код который вызовет OutOfMemory.

А>Где победила throw new OutOfMemoryException();

Строго говоря, в оригинале был вопрос про самый простой способ получить это исключение.
Ce n'est que pour vous dire ce que je vous dis.
Re: Где тут соревнование по OutOfMemory ?
От: abibok  
Дата: 12.06.13 07:32
Оценка:
Это не честный OutOfMemory, потому что обламывается только операция выделения нового массива, а количество доступной памяти для приложения остается тем же. Куда интереснее получить простой способ имитации глобального истощения памяти.
Re[2]: Где тут соревнование по OutOfMemory ?
От: Аноним  
Дата: 12.06.13 08:04
Оценка:
Здравствуйте, abibok, Вы писали:

A>Это не честный OutOfMemory, потому что обламывается только операция выделения нового массива, а количество доступной памяти для приложения остается тем же. Куда интереснее получить простой способ имитации глобального истощения памяти.


Ну так throw new OutOfMemoryException() тоже ничего не истощает.
А чего его истощать там ( в плане интересности ), банально

var l = new List();
try
{ 
  while(true) l.Add(new byte());
}
catch{}
// все сожрано до байта
Re[3]: Где тут соревнование по OutOfMemory ?
От: abibok  
Дата: 12.06.13 11:01
Оценка:
А>Ну так throw new OutOfMemoryException() тоже ничего не истощает.

А это вообще обычное исключение, которое напрямую никак не связано с ситуацией с памятью.

А>А чего его истощать там ( в плане интересности ), банально


Если бы все было так просто...
Re[4]: Где тут соревнование по OutOfMemory ?
От: Аноним  
Дата: 12.06.13 12:23
Оценка:
A>Если бы все было так просто...

А в чем сложность то
Re[3]: Где тут соревнование по OutOfMemory ?
От: pr0ff  
Дата: 12.06.13 17:07
Оценка:
Здравствуйте, Аноним, Вы писали:
А>
А>var l = new List();
А>try
А>{ 
А>  while(true) l.Add(new byte());
А>}
А>catch{}
А>// все сожрано до байта

А>

далеко не до байта. После энной операции список попробует выделить память под массив в 2 раза больше текущего и обломается (у меня в 32битном процессе это произошло при использовании около 500Мб памяти, т.к. под массив нужен непрерывный блок). Если уж на то пошло, то тогда LinkedList
Re: Где тут соревнование по OutOfMemory ?
От: nikov США http://www.linkedin.com/in/nikov
Дата: 15.06.13 02:44
Оценка: 26 (2) +1
Здравствуйте, Аноним, Вы писали:

А>Гдето тема была не могу найти, типа самая короткий код который вызовет OutOfMemory.


[System.Runtime.InteropServices.StructLayout(2, Size=0x7FFFFFFF)]
struct S 
{
    static void Main() { }
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.