Skip to content

Commit a776f89

Browse files
authored
Merge pull request #30 from osorensen/timing-issue-29
added timing
2 parents 7f9deea + 0023af0 commit a776f89

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

src/run_smc.cpp

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,12 @@ Rcpp::List run_smc(
4141
int T = data->n_timepoints();
4242
vec ESS(T);
4343
ivec resampling = zeros<ivec>(T);
44+
45+
std::vector<double> iteration_times;
46+
4447
for(size_t t{}; t < T; t++) {
4548
reporter.report_time(t);
49+
auto start = std::chrono::steady_clock::now();
4650

4751
for(auto& p : particle_vector) {
4852
p.run_particle_filter(t, prior, data, pfun, distfun, resampler,
@@ -110,6 +114,10 @@ Rcpp::List run_smc(
110114

111115
tracer.update_trace(particle_vector, t);
112116
n_particle_filters(t) = options.n_particle_filters;
117+
118+
auto end = std::chrono::steady_clock::now();
119+
auto duration = std::chrono::duration_cast<std::chrono::nanoseconds>(end - start).count();
120+
iteration_times.push_back(static_cast<double>(duration));
113121
}
114122

115123
mat alpha(prior.n_clusters, particle_vector.size());
@@ -138,6 +146,7 @@ Rcpp::List run_smc(
138146
Rcpp::Named("ESS") = ESS,
139147
Rcpp::Named("resampling") = resampling,
140148
Rcpp::Named("n_particle_filters") = n_particle_filters,
149+
Rcpp::Named("iteration_times") = iteration_times,
141150
Rcpp::Named("importance_weights") = exp(normalize_log_importance_weights(particle_vector)),
142151
Rcpp::Named("log_marginal_likelihood") = log_marginal_likelihood,
143152
Rcpp::Named("alpha_traces") = tracer.alpha_traces,

0 commit comments

Comments
 (0)