factor/basis/system-info/system-info.factor

34 lines
1.0 KiB
Factor
Raw Normal View History

2008-12-06 23:58:19 -05:00
! Copyright (C) 2008 Doug Coleman.
! See http://factorcode.org/license.txt for BSD license.
USING: accessors io kernel math math.parser sequences system
vocabs ;
2008-12-06 23:58:19 -05:00
IN: system-info
2007-09-20 18:09:08 -04:00
HOOK: os-version os ( -- version )
HOOK: cpus os ( -- n )
HOOK: hyperthreads os ( -- n )
HOOK: cpu-mhz os ( -- n )
HOOK: memory-load os ( -- n )
HOOK: physical-mem os ( -- n )
HOOK: available-mem os ( -- n )
HOOK: total-page-file os ( -- n )
HOOK: available-page-file os ( -- n )
HOOK: total-virtual-mem os ( -- n )
HOOK: available-virtual-mem os ( -- n )
HOOK: available-virtual-extended-mem os ( -- n )
2008-04-03 02:48:29 -04:00
: write-unit ( x n str -- )
2008-04-04 00:35:57 -04:00
[ 2^ /f number>string write bl ] [ write ] bi* ;
2008-04-03 02:48:29 -04:00
: kb ( x -- ) 10 "kB" write-unit ;
: megs ( x -- ) 20 "MB" write-unit ;
: gigs ( x -- ) 30 "GB" write-unit ;
2008-04-04 00:35:57 -04:00
: ghz ( x -- ) 1000000000 /f number>string write bl "GHz" write ;
2007-09-20 18:09:08 -04:00
: system-report. ( -- )
"CPUs: " write cpus number>string write nl
"CPU Speed: " write cpu-mhz ghz nl
"Physical RAM: " write physical-mem megs nl ;
"system-info." os name>> append require