| 10841 | } |
| 10842 | |
| 10843 | void llama_print_timings(struct llama_context * ctx) { |
| 10844 | const llama_timings timings = llama_get_timings(ctx); |
| 10845 | |
| 10846 | LLAMA_LOG_INFO("\n"); |
| 10847 | LLAMA_LOG_INFO("%s: load time = %10.2f ms\n", __func__, timings.t_load_ms); |
| 10848 | LLAMA_LOG_INFO("%s: sample time = %10.2f ms / %5d runs (%8.2f ms per token, %8.2f tokens per second)\n", |
| 10849 | __func__, timings.t_sample_ms, timings.n_sample, timings.t_sample_ms / timings.n_sample, 1e3 / timings.t_sample_ms * timings.n_sample); |
| 10850 | LLAMA_LOG_INFO("%s: prompt eval time = %10.2f ms / %5d tokens (%8.2f ms per token, %8.2f tokens per second)\n", |
| 10851 | __func__, timings.t_p_eval_ms, timings.n_p_eval, timings.t_p_eval_ms / timings.n_p_eval, 1e3 / timings.t_p_eval_ms * timings.n_p_eval); |
| 10852 | LLAMA_LOG_INFO("%s: eval time = %10.2f ms / %5d runs (%8.2f ms per token, %8.2f tokens per second)\n", |
| 10853 | __func__, timings.t_eval_ms, timings.n_eval, timings.t_eval_ms / timings.n_eval, 1e3 / timings.t_eval_ms * timings.n_eval); |
| 10854 | LLAMA_LOG_INFO("%s: total time = %10.2f ms\n", __func__, (timings.t_end_ms - timings.t_start_ms)); |
| 10855 | } |
| 10856 | |
| 10857 | void llama_reset_timings(struct llama_context * ctx) { |
| 10858 | ctx->t_start_us = ggml_time_us(); |