#!/usr/bin/ruby
-# performance to wiki
+# performnce to wiki
=begin
This file is part of the AVR-Crypto-Lib.
while l=fmap.gets
if m=l.match(/^([^:]*):(.*)$/)
if m[1] == algo
- modules = m[2].split(' ')
+ modules = m[2].split(/[\s]+/)
end
end
end
end
hashsize = m[1].to_i()
lb = fin.readline()
- m = lb.match(/ctxsize \(bytes\):[\s]*([\d]*)/)
+ m = lb.match(/ctxsize \(bytes\):[\s]*([\d]+)/)
ctxsize = m[1].to_i()
lb = fin.readline()
- m = lb.match(/blocksize \(bits\):[\s]*([\d]*)/)
+ m = lb.match(/blocksize \(bits\):[\s]*([\d]+)/)
blocksize = m[1].to_i()
lb = fin.readline()
- m = lb.match(/init \(cycles\):[\s]*([\d]*)/)
+ m = lb.match(/init \(cycles\):[\s]*([\d]+)/)
inittime = m[1].to_i()
lb = fin.readline()
- m = lb.match(/nextBlock \(cycles\):[\s]*([\d]*)/)
+ m = lb.match(/nextBlock \(cycles\):[\s]*([\d]+)/)
nextblocktime = m[1].to_i()
lb = fin.readline()
- m = lb.match(/lastBlock \(cycles\):[\s]*([\d]*)/)
+ m = lb.match(/lastBlock \(cycles\):[\s]*([\d]+)/)
lastblocktime = m[1].to_i()
lb = fin.readline()
- m = lb.match(/ctx2hash \(cycles\):[\s]*([\d]*)/)
+ m = lb.match(/ctx2hash \(cycles\):[\s]*([\d]+)/)
convtime = m[1].to_i()
begin
+ lb = fin.gets()
+ end until lb==nil || m = lb.match(/init \(bytes\):[\s]*([\d]*)/)
+ if lb
+ initstack = m[1].to_i()
lb = fin.readline()
- end until m = lb.match(/init \(bytes\):[\s]*([\d]*)/)
- initstack = m[1].to_i()
- lb = fin.readline()
- m = lb.match(/nextBlock \(bytes\):[\s]*([\d]*)/)
- nextblockstack = m[1].to_i()
- lb = fin.readline()
- m = lb.match(/lastBlock \(bytes\):[\s]*([\d]*)/)
- lastblockstack = m[1].to_i()
- lb = fin.readline()
- m = lb.match(/ctx2hash \(bytes\):[\s]*([\d]*)/)
- convstack = m[1].to_i()
- s1 = (initstack>nextblockstack)?initstack:nextblockstack
- s2 = (lastblockstack>convstack)?lastblockstack:convstack
- stack = (s1>s2)?s1:s2
+ m = lb.match(/nextBlock \(bytes\):[\s]*([\d]*)/)
+ nextblockstack = m[1].to_i()
+ lb = fin.readline()
+ m = lb.match(/lastBlock \(bytes\):[\s]*([\d]*)/)
+ lastblockstack = m[1].to_i()
+ lb = fin.readline()
+ m = lb.match(/ctx2hash \(bytes\):[\s]*([\d]*)/)
+ convstack = m[1].to_i()
+ s1 = (initstack>nextblockstack)?initstack:nextblockstack
+ s2 = (lastblockstack>convstack)?lastblockstack:convstack
+ stack = (s1>s2)?s1:s2
+ else
+ stack = 0
+ end
size = get_size_string(impl, name)
- printf("| %20s || %3s || %3s || %6d || %7d || %7d || %7d || %7d ||" +
+ printf("| %20s || %6s || %3s || %6d || %7d || %7d || %7d || %7d ||" +
" %7d || %7d || %9.2f || %7d || || || \n|-\n" ,
- name, $lang, $lang, size, ctxsize, stack, hashsize, blocksize,
+ name, $variant, $lang, size, ctxsize, stack, hashsize, blocksize,
inittime, nextblocktime, nextblocktime.to_f/(blocksize/8),
lastblocktime+convtime)
end
def process_file(fname)
fin = File.open(fname, "r")
- $lang = "asm"
- $lang = "C" if fname.match(/_c.txt$/)
impl = fname.match(/([^.]*).txt$/)[1]
+ $lang = "asm"
+ $lang = "C" if impl.match(/^[^_]*_[cC]/)
+ $variant = $lang
+ if m=impl.match(/_([^_]*)$/)
+ $variant = m[1]
+ end
+ if $variant == 'c'
+ $variant = 'C'
+ end
begin
begin
if fin.eof()
type = m[1]
if $handlers[type] != 0
# handlers[type](fin, name)
+ # puts "DBG: process "fname+'-'+name+'-'+impl
process_hashfunction(fin, name, impl)
else
printf("ERROR: unsupported type: %s !\n", type)