From 1a57533be4c4298edae0ca06f3984b48c6ec5e4f Mon Sep 17 00:00:00 2001 From: Grigori Goronzy Date: Tue, 7 Jun 2011 18:45:18 +0200 Subject: Add cache statistics --- libass/ass_cache.c | 15 ++++++--------- 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 c656a9e..e6dae0a 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 01cf4ad..68449cf 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); -- cgit v1.2.3