madf: (Default)
[personal profile] madf
Тупа (via sed) заміна std::list на std::vector у одному проекті зменшила час очікування вибірки даних із кількох хвилин до пари секунд.
Да-да, я в курсі що std::vector треба розглядати першим кандидатом при виборі контейнера, але я як завжди недооцінив обсяг даних і вирішив зекономити на переміщеннях під час сортування.
Коли я вперше в житті стикнувся з STL, то з векторами у мене якось не склалося (через їх динамічну природу) - з п’яток пробних програм у мене сегфолтили. Ніяк я не міг зрозуміти що ж воно за штука, що operator[] пам’ять не резервує і конструктори не викликає, а всі інші методи "наповнення" контейнера здавалися незручними. До Мейєрса я дібрався значно пізніше, а про кеші читаю тільки зараз. Мабуть саме ці перші враження постійно мене від векторів відвертають, хоча зараз я уже знаю що там і як. Просто підсвідомо їх боюся.
Ну тепер, начитавшись страшилок про L1/L2/L3, MESI, асоціативність, exclusive/inclusive і всяке інше, сподіваюсь, буду більш свідомо підходити до такої важливої штуки.
І взагалі, останнім часом мені все більше свербить думка про те що, може, краще ті дані не чіпати, а реалізовувати до них доступ через ітератори/інтервали, like this. А то пам’ять, звичайно, дешева, але ж і совість треба мати. Тим паче що є ще й embedded, де на пам’ять не розживешся.
This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

Profile

madf: (Default)
madf

April 2018

S M T W T F S
1234567
891011121314
15161718192021
22232425262728
2930     

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 7th, 2026 07:48 pm
Powered by Dreamwidth Studios