Hi Alex,

Baseline:
average benchmark over ten runs    enc:  7948, dec: 5368 (blk/s)

> Another curiosity: I wonder if some `inline` declarations would help
> tighten up the compiled code.  Most of the word definitions are pretty
> short, and are involved in a lot of loops.

inline GF(2^8) arithmetic          enc:  9071, dec: 7460 (blk/s)

> The only things I notice now are just curiosities.  I can see a lot of
> `map`s and such involved, and wonder if you could gain any performance by
> using the destructive equivalents.

destructive operations             enc: 10363, dec: 8945 (blk/s)

Note that I reversed the order of your optimisations, because the improvement
of destructive maps only kicks-in when inlining is performed.  And also,
destructive operations are dangerous: I got them wrong on first try!

> Speaking of which, I don't think `inv-sub-bytes` gets typed like `sub-bytes`
> (an untyped `[ inv-sbox nth ] map` vs the typed `sub-word`).  In case it makes
> a difference.  :-)

It doesn't, but I changed it for consistency (it doesn't hurt either).

Thanks again,
-- 
Gabriel

------------------------------------------------------------------------------
How ServiceNow helps IT people transform IT departments:
1. A cloud service to automate IT design, transition and operations
2. Dashboards that offer high-level views of enterprise services
3. A single system of record for all IT processes
http://p.sf.net/sfu/servicenow-d2d-j
_______________________________________________
Factor-talk mailing list
Factor-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/factor-talk

Reply via email to