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() { }
}
Где тут соревнование по 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
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.