Re[2]: GCC и большой исходник
От: koenjihyakkei Россия  
Дата: 31.08.15 23:27
Оценка:
Здравствуйте, Kernighan, Вы писали:

K>Чё-то слишком много он у тебя памяти жрёт. На первый взгляд там у тебя какая-то засада. Например файл сам себя инклюдит.


Сам себя не инклюдит, в первом сообщении дописал. Единственное на что сейчас грешу, это то что для каждого кейса создается по одному-два локального экземпляра другого класса, возможно локальный стек все и сжирает..
Вот код поподробнее
};
class Item {
    // ...
    Item& add1() { ... return *this; }
    Item& add2() { ... return *this; }
}

class Test {
    Item create() {
    // ...
    return *m_item;
    }
}

// используется примерно так
test.create().add1().add1().add2(); // произвольное количество вызовов функций
// и так далее более 47842 раз
test.create().add1().add1().add2();


По идее компилятор должен понять, что не надо под каждый такой Item выделять место в стеке, но такое ощущение, что именно это он и делает.
Отредактировано 31.08.2015 23:29 koenjihyakkei . Предыдущая версия . Еще …
Отредактировано 31.08.2015 23:28 koenjihyakkei . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.