Для тех кому лень читать: сначала перечислены недостатки (сомнительные) статической линковки с CRT, а потом объясняется как с трамплина прыгнуть на эти же грабли.
Начиналось это в США конца 50-х — начала 60-х. Покупатель приходил в магазин с наличными или с чековыми книжками, и был ограничен в покупках размером наличности при себе.
Вот здесь выложил скетч на базе той же FastLED. Он реализует протокол Adalight, который, в свою очередь, поддерживается Prismatik (софт проекта Lightpack), работающим и под Windows.
Начнем с достаточно тривиального совета: если вы знаете количество элементов, которые будут вставлены в вектор, то перед вставкой необходимо вызвать reserve
В таком виде совет может быть вреден. Например, в STL Microsoft (VC11), если добавлять элементы порциями, то вызов reserve перед каждой порцией значительно снижает производительность по сравнению с дефолтным экспоненциальным расширением. То есть правильнее сказать: "… если знаете максимальное кол-во эл-тов..."
Так я и говорю, что само по себе утверждение про дороговизну атомарных операций на int можно отстаивать, но когда рядом с shared_ptr выплывает мьютекс — это похоже на подтасовку, собственно как и вся статья в целом.
Вот интересно было бы увидеть параграф про сравнение этих реализаций…
Это как это?
Хочется сказать Яндексу — бросайте вы эксперименты с метамфетаминами!
В таком виде совет может быть вреден. Например, в STL Microsoft (VC11), если добавлять элементы порциями, то вызов reserve перед каждой порцией значительно снижает производительность по сравнению с дефолтным экспоненциальным расширением. То есть правильнее сказать: "… если знаете максимальное кол-во эл-тов..."