USING: kernel math hashtables arrays assocs sequences unicode.case splitting prettyprint strings fry make ; USING: kernel.private system sequences.private ; : do-stuff-once ( c a -- c a ) [ 0 swap nth-unsafe + ] keep ; inline : do-stuff ( c a -- c ) do-stuff-once do-stuff-once do-stuff-once do-stuff-once do-stuff-once do-stuff-once do-stuff-once do-stuff-once do-stuff-once do-stuff-once drop ; inline : test2 ( -- foo ) 0 10 1000 1000 * * [ { fixnum } declare { { 1 } } first { array } declare do-stuff ] times ; : test ( -- foo ) 0 10 1000 1000 * * [ { { 1 } } first do-stuff ] times ; : count-ms ( quot -- ms ) millis [ call ] dip millis swap - ; : count ( -- call/ms ) [ test drop ] count-ms [ test2 drop ] count-ms - 10 1000 1000 * * swap / >float ;