]> git.llucax.com Git - software/dgc/dgcbench.git/commitdiff
micro: Generate data to plot an allocation histogram
authorLeandro Lucarella <llucax@gmail.com>
Sat, 22 Aug 2009 20:40:33 +0000 (17:40 -0300)
committerLeandro Lucarella <llucax@gmail.com>
Sat, 22 Aug 2009 22:52:18 +0000 (19:52 -0300)
The newly generated %.h.csv files has how many allocations has been
requested for each object (cell) size. A histogram will be plotted based
on this data in the future.

micro/Makefile

index a1b4734bd83db21f8ba8f9a5a57e2df131d599af..322c748b4760431ee770570c1e31de68fd972e3d 100644 (file)
@@ -17,10 +17,12 @@ sources  := $(wildcard *.d)
 programs := $(addprefix $(BIN_DIR)/,$(sources:.d=))
 stat_c   := $(addprefix $(STAT_DIR)/,$(addsuffix .c.csv,$(sources:.d=)))
 stat_a   := $(addprefix $(STAT_DIR)/,$(addsuffix .a.csv,$(sources:.d=)))
-stat     := $(stat_c) $(stat_a)
+stat_h   := $(addprefix $(STAT_DIR)/,$(addsuffix .h.csv,$(sources:.d=)))
+stat     := $(stat_c) $(stat_a) $(stat_h)
 graphs_c := $(addprefix $(PLOT_DIR)/,$(addsuffix .c.eps,$(sources:.d=)))
 graphs   := $(graphs_c)
 
+
 ifndef V
 P      = @
 P_DC   = @echo '  DC   $@';
@@ -29,6 +31,7 @@ P_CP   = @echo '  CP  $@';
 P_PLOT = @echo '  PLOT $@';
 P_MAKE = @echo '  MAKE $@';
 P_RUN  = @echo '  RUN  $<';
+P_AWK  = @echo '  AWK  $@';
 endif
 
 # create build directories if they don't already exist
@@ -72,6 +75,10 @@ $(STAT_DIR)/split.c.csv $(STAT_DIR)/split.a.csv: $(BIN_DIR)/bible.txt
 $(BIN_DIR)/bible.txt: bible.txt
        $(P_CP) cp -l $< $@
 
+.PRECIOUS: $(STAT_DIR)/%.h.csv
+$(STAT_DIR)/%.h.csv: $(STAT_DIR)/%.a.csv
+       $(P_AWK) awk -F, 'BEGIN  { print "Size,Count" } NR > 1 { a[$$3]++ } \
+                       END { for (i in a) print i "," a[i] }' $< | sort > $@
 
 .PHONY: plot
 plot: $(graphs)