mirror of
https://gitlab.freedesktop.org/cairo/cairo.git
synced 2026-01-22 03:00:29 +01:00
A benchmark to test the speed of hash tables when inserting and removing a huge number of elements. Although originally hash tables were assumed not to get many deletions, in practice they are now being used as caches in multiple places. This means that they often have a fixed number of live elements and an element is evicted whenever a new element is inserted (this happens explicitly for cairo_cache_t objects, but also, for example, in scaled_font_map + holdovers). This access pattern is very inefficient with the current implementation.
38 lines
637 B
Text
38 lines
637 B
Text
libcairo_perf_micro_sources = \
|
|
cairo-perf-cover.c \
|
|
box-outline.c \
|
|
composite-checker.c \
|
|
disjoint.c \
|
|
fill.c \
|
|
hatching.c \
|
|
hash-table.c \
|
|
long-lines.c \
|
|
mosaic.c \
|
|
paint.c \
|
|
paint-with-alpha.c \
|
|
mask.c \
|
|
pattern_create_radial.c \
|
|
rectangles.c \
|
|
rounded-rectangles.c \
|
|
stroke.c \
|
|
subimage_copy.c \
|
|
tessellate.c \
|
|
text.c \
|
|
glyphs.c \
|
|
twin.c \
|
|
unaligned-clip.c \
|
|
wave.c \
|
|
world-map.c \
|
|
zrusin.c \
|
|
long-dashed-lines.c \
|
|
dragon.c \
|
|
pythagoras-tree.c \
|
|
intersections.c \
|
|
spiral.c \
|
|
$(NULL)
|
|
|
|
libcairo_perf_micro_headers = \
|
|
mosaic.h \
|
|
world-map.h \
|
|
zrusin-another.h \
|
|
$(NULL)
|