summaryrefslogtreecommitdiff
path: root/bench
diff options
context:
space:
mode:
authorOri Bernstein <ori@eigenstate.org>2014-09-02 16:21:44 -0400
committerOri Bernstein <ori@eigenstate.org>2014-09-02 16:21:44 -0400
commit84d48fceb5f71ed438aec8b7fa0576f0b9c7eb66 (patch)
treeafe0204d77b797d65db12dcfaa3a65035b013d23 /bench
parent094074d7ecb008cd3d59dd0d011387299a9fe9c8 (diff)
downloadmc-84d48fceb5f71ed438aec8b7fa0576f0b9c7eb66.tar.gz
Switch to much faster register based blitting.
Most values are small. Don't use rep movs. It's fast on many uarches, but has high fixed cost. 5x speedup in intsort. Fuck yeah.
Diffstat (limited to 'bench')
-rw-r--r--bench/Makefile11
1 files changed, 8 insertions, 3 deletions
diff --git a/bench/Makefile b/bench/Makefile
index 25ce7ad..1f8a3fe 100644
--- a/bench/Makefile
+++ b/bench/Makefile
@@ -6,8 +6,13 @@ BENCHSRC=intsort.myr \
include ../config.mk
include ../mk/c.mk
-bench: runner $(BENCHSRC:.myr=)
+bench: runner cleanbuild
./runner $(BENCHSRC:.myr=)
-$(BENCHSRC:.myr=): $(BENCHSRC)
- ../myrbuild/myrbuild -b $@ $@.myr
+.PHONY: cleanbuild
+cleanbuild:
+ rm -f $(BENCHSRC:.myr=) $(BENCHSRC:.myr=.o) $(BENCHSRC:.myr=.use)
+ @for i in $(BENCHSRC:.myr=); do \
+ ../myrbuild/myrbuild -b $$i $$i.myr; \
+ done
+