@@ -67,6 +67,8 @@ int standalone_generate(const Model &model, const Eigen::MatrixXd &draws,
6767
6868 std::vector<double > unconstrained_params_r;
6969 std::vector<double > row (draws.cols ());
70+ auto start = std::chrono::steady_clock::now ();
71+
7072 try {
7173 for (size_t i = 0 ; i < draws.rows (); ++i) {
7274 Eigen::Map<Eigen::VectorXd>(&row[0 ], draws.cols ()) = draws.row (i);
@@ -85,6 +87,13 @@ int standalone_generate(const Model &model, const Eigen::MatrixXd &draws,
8587 logger.error (e.what ());
8688 return error_codes::SOFTWARE;
8789 }
90+ auto end = std::chrono::steady_clock::now ();
91+ double gq_delta_t
92+ = std::chrono::duration_cast<std::chrono::milliseconds>(end - start)
93+ .count ()
94+ / 1000.0 ;
95+ writer.write_timing (gq_delta_t );
96+
8897 return error_codes::OK;
8998}
9099
@@ -161,6 +170,7 @@ int standalone_generate(const Model &model, const int num_chains,
161170 std::stringstream msg;
162171 for (size_t slice_idx = r.begin (); slice_idx != r.end ();
163172 ++slice_idx) {
173+ auto start = std::chrono::steady_clock::now ();
164174 for (size_t i = 0 ; i < draws[slice_idx].rows (); ++i) {
165175 if (error_any)
166176 return ;
@@ -178,6 +188,13 @@ int standalone_generate(const Model &model, const int num_chains,
178188 writers[slice_idx].write_gq_values (model, rngs[slice_idx],
179189 unconstrained_params_r);
180190 }
191+ auto end = std::chrono::steady_clock::now ();
192+ double gq_delta_t
193+ = std::chrono::duration_cast<std::chrono::milliseconds>(end
194+ - start)
195+ .count ()
196+ / 1000.0 ;
197+ writers[slice_idx].write_timing (gq_delta_t );
181198 }
182199 },
183200 tbb::simple_partitioner ());
0 commit comments