]> git.cryptolib.org Git - avr-crypto-lib.git/commitdiff
performance tool tuning
authorbg <bg@b1d182e4-1ff8-0310-901f-bddb46175740>
Thu, 14 May 2009 20:25:38 +0000 (20:25 +0000)
committerbg <bg@b1d182e4-1ff8-0310-901f-bddb46175740>
Thu, 14 May 2009 20:25:38 +0000 (20:25 +0000)
Makefile
avr-makefile.inc
host/performance2wiki.rb
mkfiles/ubi.mk

index f233faf74c69bb4ebd2c6bf71f66d86f06dc21fd..f51b1a776583040b6499aa5b7c00fd48c6b15289 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,6 @@
 # Makefile for the AVR-Crypto-Lib project
 # author: Daniel Otte
+SHELL = sh
 
 BLOCK_CIPHERS  := 
 STREAM_CIPHERS := 
@@ -7,13 +8,14 @@ HASHES         :=
 MACS           :=
 PRNGS          := 
 ENCODINGS      :=
+AUX            :=
 
 # we use the gnu make standard library
 include gmsl
 include avr-makefile.inc
 include mkfiles/*.mk
 
-ALGORITHMS = $(BLOCK_CIPHERS) $(STREAM_CIPHERS) $(HASHES) $(PRNGS) $(MACS) $(ENCODINGS)
+ALGORITHMS = $(BLOCK_CIPHERS) $(STREAM_CIPHERS) $(HASHES) $(PRNGS) $(MACS) $(ENCODINGS) $(AUX)
 ALGORITHMS_OBJ = $(patsubst %,%_OBJ, $(ALGORITHMS))
 ALGORITHMS_TEST_BIN = $(patsubst %,%_TEST_BIN, $(ALGORITHMS))
 
@@ -201,6 +203,20 @@ $(foreach algo, $(ALGORITHMS),$(eval $(call TESTRUN_TEMPLATE, $(algo), $(call lc
 
 all_testrun: $(foreach algo, $(ALGORITHMS), $(algo)_TESTRUN)
 
+#-------------------------------------------------------------------------------
+
+define TESTSPEED_TEMPLATE
+$(1)_TESTSPEED: $(1)_FLASH
+       @echo "[speed]: $(1)"
+       $(RUBY) $(GET_PERFORMANCE)  $(TESTPORT) $(TESTPORTBAUDR) 8 1 performance $(SPEEDLOG_DIR)$(SPEEDPREFIX) $(2)
+endef
+
+$(foreach algo, $(ALGORITHMS),$(eval $(call TESTSPEED_TEMPLATE, $(algo), $(call lc,$(algo)) )))
+
+all_testspeed: $(foreach algo, $(ALGORITHMS), $(algo)_TESTSPEED)
+hash_testspeed: $(foreach algo, $(HASHES), $(algo)_TESTSPEED)
+
+
 #-------------------------------------------------------------------------------
 
 define LISTING_TEMPLATE
index ee46746bedd1506a5903de84df7ca6c2a010da94..d44ca11ee4cf29adf67c5adf95a4e26422710c6c 100644 (file)
@@ -15,6 +15,8 @@ TESTPORT       = /dev/ttyUSB1
 TESTPORTBAUDR  = 38400
 TESTLOG_DIR    = testlog/
 TESTPREFIX     = nessie-
+SPEEDLOG_DIR   = speed_log/
+SPEEDPREFIX    =
 LIST_DIR       = listings/
 STAT_DIR       = stats/
 AUTOASM_DIR    = autoasm/
@@ -29,12 +31,13 @@ override ASFLAGS       = -mmcu=$(MCU_TARGET) -Wa,--gdwarf-2
 
 SIZESTAT_FILE = sizestats.txt
 
-OBJCOPY    = avr-objcopy
-OBJDUMP    = avr-objdump
-SIZE       = avr-size
-READELF    = readelf
-RUBY       = ruby
-GET_TEST   = host/get_test.rb
-MAKE       = make
-MAKE2GRAPH = ~/bin/make2graph.rb
-TWOPI      = twopi
+OBJCOPY         = avr-objcopy
+OBJDUMP         = avr-objdump
+SIZE            = avr-size
+READELF         = readelf
+RUBY            = ruby
+GET_TEST        = host/get_test.rb
+GET_PERFORMANCE = host/get_performance.rb
+MAKE            = make
+MAKE2GRAPH      = ~/bin/make2graph.rb
+TWOPI           = twopi
index 9d46dd3380887b3cb12f76fce58b710c55c827bc..29afa46194add6bec8de178038fb13649380e7f1 100644 (file)
@@ -57,8 +57,11 @@ def process_hashfunction(fin, name)
   m = lb.match(/ctx2hash \(cycles\):[\s]*([\d]*)/)
   convtime = m[1].to_i()
   
-  printf("| %s || C || C || || %4d || %4d || %4d || %6d || %6d || %6.2f || %6d || || || \n|-\n" , 
-    name, ctxsize, hashsize, blocksize, inittime, nextblocktime, nextblocktime.to_f/blocksize*8, lastblocktime+convtime)
+  printf("| %20s || %3s || %3s || || %4d || %4d || %4d ||" +
+         " %6d || %6d || %7.2f || %6d || || || \n|-\n" , 
+        name, $lang, $lang ,ctxsize, hashsize, blocksize, 
+           inittime, nextblocktime, nextblocktime.to_f/blocksize*8,
+               lastblocktime+convtime)
 end
 
 
@@ -68,6 +71,8 @@ $handlers["hashfunction"] = 1 #process_hashfunction
 
 def process_file(fname)
   fin = File.open(fname, "r")
+  $lang = "asm"
+  $lang = "C" if fname.match(/_c.txt$/)
   begin
     begin
          if fin.eof()
index b366608e898500b2066fba8c01aad160a4712340..9f0984df5f6cd97628149a43eb05f0cb79de9d76 100644 (file)
@@ -2,7 +2,7 @@
 ALGO_NAME := UBI
 
 # comment out the following line for removement of ubi from the build process
-HASHES += $(ALGO_NAME)
+AUX += $(ALGO_NAME)
 
 
 $(ALGO_NAME)_OBJ      := threefish_mix.o threefish256_enc_asm.o ubi256_asm.o \