[00:21:15] <vlad2> По стандарту - может. На практике в юниксах (в линуксах, а частности) - не может.
[00:21:55] <vlad2> Был простой тест - в аллоцировалась куча памяти (больше, чем доступно, включая своп).
[00:22:12] <vlad2> malloc возвращал неNULL
[00:22:39] <vlad2> Потому в цикле заполнялся выделенный кусок - получали крэш.
[00:23:06] <vlad2> Может, уже починили, не знаю. Несколько лет назад - было еще актуально.
[00:32:16] <valexey> там же будет OM Killer
[00:32:40] <valexey> в принципе, там ведь сигнал прилетит. Впрочем, обработать ты его один фиг не сможешь скорее всего.
[00:33:08] <valexey> Вообще, не понятно как сделать так, чтобы это возможно было обрабатывать. На системном уровне конечно же.
[00:33:37] <valexey> malloc тут конечно не при чем. он слишком высокоуровнев.
[00:40:04] <vlad2> Дык, вот - у меня и вопрос. Если у меня апликэйшн, который жрет кучу памяти и в принципе _может_ обрабатывать ее нехватку - как его писать?
[00:40:25] <vlad2> Задавать максимальный размер как параметр?
[00:41:16] <vlad2> (параметр конфига апликэйшина)
[00:41:47] <valexey> проблема в том, что памяти может нехватить ВНЕЗАПНО не в момент вызова malloc'a :-)
[00:41:53] <valexey> а вообще в любой момент времени.
[00:42:59] <vlad2> Не, ну если у меня числодробилка - то можно поиметь хорошие гарантии.
[00:43:25] <valexey> сложно же.
[00:43:38] <valexey> вот ты вызвал malloc, оно сказало угу, вот тебе гиг памяти.
[00:43:48] <vlad2> Ну и?
[00:43:48] <valexey> при физической памяти в 256 метров без свопа :-)
[00:44:03] <valexey> ты пошел по массиву, идешь, идешь, хренакс, SIGKILL
[00:44:09] <vlad2> ДЫК!!!
[00:44:22] <vlad2> Почему просто NULL не вернкт?
[00:44:25] <valexey> либо еще интересней, SIGKILL получит вообще не твое приложение.
[00:44:57] <valexey> А с фига ли ей NULL возвращать? Ведь все отработало как надо. Гиг адресного пространства тебе выдали.
[00:44:58] <vlad2> Еще один камень в огород ущербности этой идеи :)
[00:45:17] <vlad2> Не, извините. Памяти реально нет. NULL.
[00:45:42] <vlad2> Нафига мне адресное пространство? Я просил память, а не адресное пространство.
[00:45:48] <valexey> В винде, теоретически, должно быть как-то так же.
[00:46:12] <vlad2> Если я захочу адресное пространство - я вызову не malloc, а что-то другое (в винде так и есть).
[00:46:30] <valexey> погодь, ща я тебе статейку найду.
[00:47:48] <vlad2> У меня в свое время была идея, что юниксоиды так сделали, чтоб лики не чинить ;)
[00:48:10] <vlad2> Типа как УАЗ русские сделали, чтобы дороги не чинить :)
[00:48:21] <valexey> гм. не, лики тут не при чем.
[00:49:13] <valexey> но опять таки, malloc тут не при чем вообще. malloc вообще не ядерный вызов.
[00:49:22] <valexey> то есть не системный.
[00:49:40] <vlad2> Ну типа авделил память, но не использовал ее - апликэшн дольше проживет :)
[00:50:42] <valexey> фигня. сдохнет в случае чего вообще произвольный аппликейшн :-)
[00:51:22] <vlad2> Тем более ;) А так у произвольного апликэйшина будет шанс потревыхаться - если маллоки нули начнут возвращать.
[00:52:24] <valexey> это просто сильно экономит память
[00:52:34] <valexey> да вся система на этом построена
[00:56:27] <valexey> но вообще это все настраивается. по крайней мере в линуксе
[00:56:42] <valexey> то есть можно задать поведение системы такое, чтобы оно не давало ложных обещаний.
[00:56:55] <valexey> но опять же, к malloc'у это не имеет никакого отношения.
[00:57:59] <vlad2> Так у меня претензии как раз не к маллоку, а к системе ;)
[00:59:01] <valexey> ну, спрашивал то ты почему-то про маллок :-)
[00:59:02] <vlad2> Не очень понимаю как это экономит память. Попросили гигабайт - выделили в свопе и вернули. Ну а если даже в свопе нет - аернули 0.
[01:01:55] <valexey> попросили гигабайт, сказали угу. и дали адрес. но физ. память не трогаем пока туда кто-то что-то не запишет. то есть не выделяем.
[01:02:07] <valexey> ленивое выделение памяти. оно и в маздае так, и в виндах.
[01:02:10] <valexey> тьху
[01:02:12] <valexey> и в линуксах
[01:02:14] <valexey> и в юниксах
[01:04:37] <valexey> http://www.rsdn.ru/forum/cpp/2735521.1.aspx
[01:04:42] <valexey> вот например
[01:13:28] <valexey> http://catap.ru/blog/2009/05/05/about-memory-overcommit-memory/
[01:18:35] <vlad2> в виндах не бывает крэша при обращении к выделенному куску памяти :) Во всяком случае выделенному через malloc :)
[01:19:03] <valexey> через какой именно malloc? :-) их же туча реализаций.
[01:19:11] <valexey> я например тоже могу написать malloc :-)
[01:19:18] <valexey> это ж не системная функция.
[01:19:25] <vlad2> Через GlobalAlloc
[01:19:50] <vlad2> И через malloc/new в M$ компиляторе.
[01:20:34] <valexey> я подозреваю что malloc/new они не в компиляторе а теки в либе :-)
[01:20:44] <vlad2> Не придирайся к словам.
[01:21:00] <vlad2> Говорим M$ компилтяр, подразумеваем M$ CRT.
[01:21:56] <vlad2> Да, и M$ STL :)
[01:22:05] <valexey> Гм. А оно реально через эту функцию реализовано? А то там написано что:
[01:22:08] <valexey> Note  The global functions have greater overhead and provide fewer features than other memory management functions. New applications should use the heap functions unless documentation states that a global function should be used. For more information, see Global and Local Functions.
[01:22:10] <vlad2> (не важно у кого купленная)
[01:23:01] <vlad2> Мне неинтересно :) Я реализовывал через GlobalAlloc, когжа мне нужна была прога mtp рантайма.
[01:23:10] <vlad2> без рантайма
[01:23:33] <vlad2> Да, правильнее через функции работы с хипом.
[01:23:48] <vlad2> Но GlobalAlloc тоже работает неплохо :)
[01:27:36] <vlad2> Кстати, в той статье явно говорится, что такой юниксовлый подход хорошо работает для кривых прог ;)
[01:27:50] <vlad2> Которые хаваю память, но не используют ее.
[01:28:29] <valexey> судя по той же статье, это далеко не юниксовый подход, а общий для всех современных осей :-)
[01:28:57] <valexey> но вообще, таки да, надо будет поэкскрементировать со всем этим.
[01:29:04] <vlad2> Короче, в винде по дефотлту 100% коммит, хочешь верь - хочешь не верь :)
[01:29:34] <valexey> не верю :-) надо посмотреть.
[01:30:24] <vlad2> При этом new на насколько гигабайт не приводит к свопу на машине со 256мб.
[01:31:00] <valexey> дык в линуксе своп тоже не будет затронут :-)
[01:31:01] <vlad2> Своп начинается, когда идет запись по этому куску.
[01:31:45] <vlad2> Ага. Только его может не оказаться в самый неподходящий момент ;)
[01:33:16] <valexey> надо посмотреть. а то просто так понтами туда-сюда кидаццо скучно.
[01:33:33] <valexey> благо мы можем попробовать и на линухе, и на макоси в под маздаем.
[02:01:07] <vlad2> На макоси будет как на юниксе :)
[02:01:23] <vlad2> Судя по ее таскмэнеджеру - она жрет _нереально_ много памяти.
[02:08:31] <valexey> на всех юниксах по разному :-)
[02:08:50] <valexey> алсо таскман лжет, ведь ты же знаешь.
[02:14:53] <vlad2> Типа да. Может это даже понты. Типа "у моего мака 200 гигабайт виртуальной памяти".
[02:15:36] <vlad2> (цифру не выдумал - мой мак именно так показывает)
[02:15:59] <vlad2> При это своп - гиг, а физической 6Г.
[02:16:16] <vlad2> Чего он там виртуального насчитах - ХЗ.
[02:18:11] <vlad2> Сумма всех интервалов виртуадбных адресов?
[02:18:35] <vlad2> Все равно много как-то...
[02:22:03] <valexey> шареные либы же.
[02:22:16] <valexey> они считаются по сто раз.
[02:22:20] <valexey> шареная память.
[02:22:23] <valexey> ну и так далее.
[08:30:27] <geniepro> valexey> ленивое выделение памяти. оно и в маздае так, и в виндах.
ага-ага! линупсы мастдай )))
[09:42:44] <geniepro> http://rutracker.org/forum/viewtopic.php?t=2990038
[10:46:57] <geniepro> <@Neka> ты не отаку часом
<@Neka> а то ник какой то...
<~Kikabidze_VAX> Кто такой отаку?
<~Kikabidze_VAX> Нормальный ник!
<@Neka> Кикабидзе...
<@Neka> чтот японское
<@Neka> гдето в каком то аниммэ мя это слышала
<@Neka> непомню в каком
[10:55:34] <geniepro> "Ты наверна просто еще не знаишь все Японцы пишут свои слова квадратиками невериш сходи посмотри налюбой Японский сайт. У них слоговое письмо и квадратик озночает любой слог а читается в зависимости о контекста."
[10:55:55] <geniepro> вот что бывает, если в системе не установлены юникод-щрифты )))
[11:59:41] <valexey> geniepro: ну, вообще то маздаем всегда 9х назывались, а виндами линейка nt
[12:01:09] <valexey> geniepro:а такое вообще бывает, что юникод шрифтов не установлено? В какой системе так бывает?
[12:34:26] <geniepro> ну... в досе!!!111 )))
[12:41:43] <geniepro> вова: Почему не спишь?
Lero_Ok: да рано еще
Lero_Ok: а ты?
вова: Я в наряде
Lero_Ok: ого, клево
Lero_Ok: красивый?
Lero_Ok: а почему не спишь-то?

))))
[13:22:03] <valexey> не, в досе такая проблема в принципе бы не возникла
[16:33:29] <valexey> дас. болезни с инкубационным периодом в 30 лет таки доставляют
[16:33:54] <geniepro> какие это??? о_О
[16:37:08] <valexey> прионные. например cиндром Герстмана — Штраусслера — Шейнкера
[16:37:16] <geniepro> "Болезнь Куру, она же «хохочущая смерть». Эту инфекцию вызывают прионы. Заболеть Куру можно, отведав человеческий мозг, поэтому периодически возникают вспышки в племенах туземцев, практикующих каннибализм. Многие чернокожие обжоры едят мозг убитых врагов, а некоторые папуасы занимаются ритуальным поеданием серого вещества: умер родственник – значит нужно забрать его ум себе. Инкубационный период - до 30 лет."

о_О какие интересы у валексея, однако
[16:43:25] <valexey> медицинские. работа связана с медициной, вот интересуюсь всем потихоньку