diff options
author | Grigori Goronzy <greg@blackbox> | 2011-06-07 18:45:18 +0200 |
---|---|---|
committer | Grigori Goronzy <greg@blackbox> | 2011-06-07 18:45:40 +0200 |
commit | 1a57533be4c4298edae0ca06f3984b48c6ec5e4f (patch) | |
tree | 303c8fc6386a515b154cf3562637e1c50a9273f5 | |
parent | 988166104ed0cc6c27edee8ca60fbd549369d13c (diff) | |
download | libass-1a57533be4c4298edae0ca06f3984b48c6ec5e4f.tar.bz2 libass-1a57533be4c4298edae0ca06f3984b48c6ec5e4f.tar.xz |
Add cache statistics
-rw-r--r-- | libass/ass_cache.c | 15 | ||||
-rw-r--r-- | libass/ass_cache.h | 3 |
2 files changed, 8 insertions, 10 deletions
diff --git a/libass/ass_cache.c b/libass/ass_cache.c index c656a9e0..e6dae0af 100644 --- a/libass/ass_cache.c +++ b/libass/ass_cache.c @@ -259,20 +259,17 @@ size_t ass_cache_empty(Cache *cache, size_t max_size) return 0; } -char *ass_cache_stats(Cache *cache) +void ass_cache_stats(Cache *cache, size_t *size, unsigned *hits, + unsigned *misses, unsigned *count) { - // FIXME: implement this correctly - printf("cache statistics: \n total accesses: %d\n hits: %d\n " - "misses: %d\n object count: %d\n size: %zd\n", - cache->hits + cache->misses, cache->hits, - cache->misses, cache->items, cache->cache_size); - - return "not implemented"; + *size = cache->cache_size; + *hits = cache->hits; + *misses = cache->misses; + *count = cache->items; } void ass_cache_done(Cache *cache) { - ass_cache_stats(cache); ass_cache_empty(cache, 0); free(cache->map); free(cache); diff --git a/libass/ass_cache.h b/libass/ass_cache.h index 01cf4ad5..68449cf6 100644 --- a/libass/ass_cache.h +++ b/libass/ass_cache.h @@ -61,7 +61,8 @@ Cache *ass_cache_create(HashFunction hash_func, HashCompare compare_func, void *ass_cache_put(Cache *cache, void *key, void *value); void *ass_cache_get(Cache *cache, void *key); size_t ass_cache_empty(Cache *cache, size_t max_size); -char *ass_cache_stats(Cache *cache); +void ass_cache_stats(Cache *cache, size_t *size, unsigned *hits, + unsigned *misses, unsigned *count); void ass_cache_done(Cache *cache); Cache *ass_font_cache_create(void); Cache *ass_glyph_cache_create(void); |