?

Log in

No account? Create an account

Рабочее - Ваши рубидии уже у кобальта во ртути

May. 16th, 2011

10:15 pm - Рабочее

Previous Entry Share Next Entry



Сегодня провел весь день, копаясь в окаменевшем дерьме индийском коде, тратившем невообразимое количество памяти. Тест, который по идее должен был помещаться в 4 Гб, чуть не поставил раком мою 8 Гб машину (хорошо, я успел сделать ctrl-alt-F1 при первых симптомах, и убить процесс из текстового режима). На 32 Гб машине выяснилось, что процесс хочет 9 Гб с гаком.
Помимо прочего, в коде содержалась конструкция типа

const char * name = obj->getName();
if (obj->isArrayElt()) {
   name = obj->getParent()->getName();
   idx = obj->getIndex();
}

Фишка в том, что это была не протечка, и valgrind, запущенный на весь процесс от начала до конца, не жаловался - строки, возвращаемые из getName(), в конце концов[weasel words] зачищались, но никому не нужных уникальных строк вида "array[index]" это дело порождало , задирая пиковое потребление памяти до небес, столько, что можно было диву даться.

А потом уже одно к одному: оказалось, что хешировать по имени объекта в том месте было вообще необязательно. В результате к концу дня практически вписался в желаемые 4 Гб.

Comments:

[User Picture]
From:ramlamyammambam
Date:May 17th, 2011 05:30 am (UTC)

Как говорится

(Link)
Что хешуй, что не хешуй... :)
(Reply) (Thread)
[User Picture]
From:spamsink
Date:May 17th, 2011 05:32 am (UTC)

Re: Как говорится

(Link)
Круче всех всегда феншуй?
(Reply) (Parent) (Thread)
[User Picture]
From:arno1251
Date:May 17th, 2011 07:04 am (UTC)
(Link)
красиво жить не запретишь...
(Reply) (Thread)
[User Picture]
From:sthinks
Date:May 17th, 2011 07:15 pm (UTC)

offff

(Link)
А поздравлять-то уже пора? Я ничего не путаю?
(Reply) (Thread)
[User Picture]
From:spamsink
Date:May 17th, 2011 07:41 pm (UTC)

Re: offff

(Link)
Пора, не путаешь, спасибо. Запомнить просто - как одну из годовщин (по вкусу) отмечают - значит, пора.
(Reply) (Parent) (Thread)
[User Picture]
From:sthinks
Date:May 17th, 2011 07:45 pm (UTC)

Re: offff

(Link)
Можно было остановиться после первого пункта. Пулемет настолько производит впечатление, что никакими саксофонами и алькапонеми его не перебьешь.

Поздравляю! Будь здоров!
И поздравь от меня родителей с замечательным сыном.
(Reply) (Parent) (Thread)
[User Picture]
From:spamsink
Date:May 17th, 2011 07:47 pm (UTC)

Re: offff

(Link)
Спасибо еще раз! Через пару недель лично передам.
(Reply) (Parent) (Thread)