| 203 | } |
| 204 | |
| 205 | void print(const char* token) { |
| 206 | if (first_token) { |
| 207 | first_token = false; |
| 208 | first_token_time = std::chrono::steady_clock::now(); |
| 209 | auto latency = std::chrono::duration_cast<std::chrono::milliseconds>(first_token_time - start_time); |
| 210 | time_to_first_token = latency.count() / 1000.0; |
| 211 | } |
| 212 | std::cout << token << std::flush; |
| 213 | token_count++; |
| 214 | } |
| 215 | |
| 216 | void print_stats(double ram_mb = 0.0) { |
| 217 | auto end_time = std::chrono::steady_clock::now(); |