summaryrefslogtreecommitdiff
path: root/src/til_module_context.h
diff options
context:
space:
mode:
authorVito Caputo <vcaputo@pengaru.com>2023-07-08 20:20:22 -0700
committerVito Caputo <vcaputo@pengaru.com>2023-07-08 21:22:29 -0700
commit8132787168fa57da870edfb816589588d4620e1b (patch)
tree9042ae650b8f9826f2c323339d9e69d1852cfbba /src/til_module_context.h
parent4bad0667dd6ddfa1a43339ae37b3535550e8e264 (diff)
til: measure til_module_render() durations
This stows the duration (in ticks (which are ms for now)) of a given module context's most recent, as well as tracking the max, in til_module_context_t. For now it's also added to --print-module-contexts output, but this is still rather primitive and nearly inscrutible in practice... that output is a flickery and unsorted mess during playback. But this is just a start. Ticks may need to move up to microseconds if it'll also be the units for measuring timings. Right now things are slow enough that the low-hanging fruit stand out as multiple if not dozens of milliseconds so it's still useful for now.
Diffstat (limited to 'src/til_module_context.h')
-rw-r--r--src/til_module_context.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/til_module_context.h b/src/til_module_context.h
index e4c0bca..cb607f2 100644
--- a/src/til_module_context.h
+++ b/src/til_module_context.h
@@ -17,6 +17,10 @@ struct til_module_context_t {
*/
unsigned refcount;
+
+ /* for profiling */
+ unsigned last_render_duration, max_render_duration;
+ unsigned renders_count;
};
void * til_module_context_new(const til_module_t *module, size_t size, til_stream_t *stream, unsigned seed, unsigned ticks, unsigned n_cpus, til_setup_t *setup);
© All Rights Reserved