Check in benchmark.struct vocab
parent
445b43d924
commit
6d63be4168
|
@ -0,0 +1 @@
|
||||||
|
Doug Coleman
|
|
@ -0,0 +1,31 @@
|
||||||
|
! Copyright (C) 2010 Doug Coleman.
|
||||||
|
! See http://factorcode.org/license.txt for BSD license.
|
||||||
|
USING: accessors alien.c-types classes.struct kernel memory
|
||||||
|
system vm ;
|
||||||
|
IN: benchmark.struct
|
||||||
|
|
||||||
|
STRUCT: benchmark-data
|
||||||
|
{ time ulonglong }
|
||||||
|
{ data-room data-heap-room }
|
||||||
|
{ code-room mark-sweep-sizes } ;
|
||||||
|
|
||||||
|
STRUCT: benchmark-data-pair
|
||||||
|
{ start benchmark-data }
|
||||||
|
{ stop benchmark-data } ;
|
||||||
|
|
||||||
|
: <benchmark-data> ( -- benchmark-data )
|
||||||
|
\ benchmark-data <struct>
|
||||||
|
nano-count >>time
|
||||||
|
code-room >>code-room
|
||||||
|
data-room >>data-room ; inline
|
||||||
|
|
||||||
|
: <benchmark-data-pair> ( start stop -- benchmark-data-pair )
|
||||||
|
\ benchmark-data-pair <struct>
|
||||||
|
swap >>stop
|
||||||
|
swap >>start ; inline
|
||||||
|
|
||||||
|
: with-benchmarking ( ... quot -- ... benchmark-data-pair )
|
||||||
|
<benchmark-data>
|
||||||
|
[ call ] dip
|
||||||
|
<benchmark-data> <benchmark-data-pair> ; inline
|
||||||
|
|
Loading…
Reference in New Issue