Anatoly
И?
Андрей
Андрей
Реши уравнение.
Anatoly
Бля.
Anatoly
1. Как говорится, "каков физический смысл сего уравнения?"
Sergey
я вообще не пойму что за попугаев вы считаете
Sergey
в чем проблема выделять x2 память?
Anatoly
2. Понятие "оптимум" знакомо?
Square
О точно, а когда успели дотнет грохнуть?
Anatoly
Андрей
Ой, неправильно. x^3 = x + 1. Вот это правильно.
Square
Андрей
Слева находится количество памяти, которое нам надо выделить. А справа количество памяти, которое мы задействовали на 1 и 2 шагах.
Андрей
Чтобы не было фрагментации памяти.
Андрей
Блин, 1.5 не подходит. Нужный порог - 1.3247
Anatoly
Андрей
Андрей
Anatoly
Андрей
Почему x^3, а не x^7, например?
Потому что на четвертом шаге нам понадобится x^3 памяти. Данные нужно разместить в памяти, которая выделяется на первом и втором шагах.
Андрей
Третий шаг не трогаем, так как там хранятся данные.
Anatoly
С чегойта?
Anatoly
Между 3 и 4 шагом у нас в проге ещё навыделялось всякого.
Anatoly
Но уже хоть видно свет в конце тоннеля.
Андрей
Андрей
Андрей
Или память дешева и на неё пофиг?
Anatoly
Но тогда нам подходит любая константа между 1 и 2
Андрей
Андрей
x ~ 1.3247
Андрей
Между 1 и 1.3247
Андрей
Anatoly
И раз пошли такие танцы, и ты хочешь реюз на 3 шаге, то уравнение должно быть 1 + x + x^2 = x^3
Sergey
как можно надеяться на реюз?
Sergey
когда мы живем в куче
Андрей
Андрей
Так как после выделения памяти нужно ещё данные хранить где-то. Поэтому память из второго шага перетирать нельзя.
Anatoly
Андрей
Anatoly
С другой стороны, что цланг, что гцц тупо множат на 2. И ещё встречаются высказывания типа
```Typical growth factors in implementations are 2 or 1.5, though any number strictly greater than 1 will do.```
Anatoly
Похоже, @AndreyVassilyev знает про хип что-то такое, чего не знают разрабы компиляторов. Или наоборот.
Андрей
Андрей
В чём ошибка то, дружище мой?
Андрей
Или будем просто давить авторитетом других людей?)
Anatoly
Канешна! Ибо какая ещё польза с того авторитета, если им нельзя давить? :)
Anatoly
А зачем мой авторитет? Своё мнение "константа пофиг" я и без него высказал.
Anatoly
Хотите - верьте, хотите - нет.
Андрей
Ну? а я конкретно показал какая константа наиболее выгодна. Путь и в ущерб производительности.
Андрей
http://www.gahcep.com/cpp-internals-stl-vector-part-1/
Андрей
Вот здесь высказаны мои рассуждения.
Андрей
Где-то в середине страницы. По картинкам увдите.
Anatoly
Вот про константы http://stackoverflow.com/questions/6550509/amortized-analysis-of-stdvector-insertion
Andrei
лол
Andrei
пустой спор был какой-то вообще
Andrei
на практике всё не так.
Square
Факт!
Square
Оптимизация ради оптимизации
Andrei
Да даже не в этом дело.
Andrei
Ситуация, когда в вектор надо в цикле что-то напихивать — очень редкая.
Andrei
Практически н встречающаяся.
Square
А. Эт тоже
Square
Тут просто так много сюжетных линий в их споре )
Andrei
С вектором надо работать так, что сначала делаешь ресайз или резёрв до нужного размера, потом работаешь
Andrei
Если же прходится пушбечит, свести это к минимуму
Andrei
и вызвать shrink_to_fit
Square
Я вообще стараюсь всегда избегать реаллоков
Andrei
Да, вот именно, и обычно это сделать несложно.
Square
В принципе выделить буфер и в нем работать
Square
Ну у нас специфика такая в работе