Первая странность - reserve, а сразу потом - resize. Достаточно только resize(). Кроме этого, у resize есть второй параметр, специально для заполнения вновь создаваемых элементов. Вместо
vec.reserve(N);
vec.resize(N);
for(int i=0;i<N;++i)
{
vec[i]=10;
}
Можно было написать ровно один вызов resize().
Второе - не следует забывать, что с точки зрения ОС, единица отдачи памяти приложению - страница, а страница это обычно 4 килобайта.