Skip to content

Commit af56515

Browse files
authored
use reserve instead of resize to preallocate memory (#91)
1 parent 39d7c82 commit af56515

File tree

1 file changed

+16
-30
lines changed

1 file changed

+16
-30
lines changed

source/loop.cpp

Lines changed: 16 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -103,14 +103,14 @@ void Loop::Setup(void)
103103
}
104104

105105
//Reserve memory for results
106-
results.time.resize(parameters.N);
107-
results.heat.resize(parameters.N);
108-
results.pressure_e.resize(parameters.N);
109-
results.pressure_i.resize(parameters.N);
110-
results.temperature_e.resize(parameters.N);
111-
results.temperature_i.resize(parameters.N);
112-
results.density.resize(parameters.N);
113-
results.velocity.resize(parameters.N);
106+
results.time.reserve(parameters.N);
107+
results.heat.reserve(parameters.N);
108+
results.pressure_e.reserve(parameters.N);
109+
results.pressure_i.reserve(parameters.N);
110+
results.temperature_e.reserve(parameters.N);
111+
results.temperature_i.reserve(parameters.N);
112+
results.density.reserve(parameters.N);
113+
results.velocity.reserve(parameters.N);
114114
}
115115

116116
state_type Loop::GetState(void)
@@ -283,28 +283,14 @@ void Loop::SaveResults(int i,double time)
283283
double velocity = CalculateVelocity(__state[3], __state[4], __state[0]);
284284

285285
// Save results to results structure
286-
if(i >= parameters.N)
287-
{
288-
results.time.push_back(time);
289-
results.heat.push_back(heat);
290-
results.temperature_e.push_back(__state[3]);
291-
results.temperature_i.push_back(__state[4]);
292-
results.pressure_e.push_back(__state[0]);
293-
results.pressure_i.push_back(__state[1]);
294-
results.density.push_back(__state[2]);
295-
results.velocity.push_back(velocity);
296-
}
297-
else
298-
{
299-
results.time[i] = time;
300-
results.heat[i] = heat;
301-
results.temperature_e[i] = __state[3];
302-
results.temperature_i[i] = __state[4];
303-
results.pressure_e[i] = __state[0];
304-
results.pressure_i[i] = __state[1];
305-
results.density[i] = __state[2];
306-
results.velocity[i] = velocity;
307-
}
286+
results.time.push_back(time);
287+
results.heat.push_back(heat);
288+
results.temperature_e.push_back(__state[3]);
289+
results.temperature_i.push_back(__state[4]);
290+
results.pressure_e.push_back(__state[0]);
291+
results.pressure_i.push_back(__state[1]);
292+
results.density.push_back(__state[2]);
293+
results.velocity.push_back(velocity);
308294

309295
if( parameters.use_lookup_table_losses )
310296
{

0 commit comments

Comments
 (0)