]> gitweb.factorcode.org Git - factor.git/commitdiff
system-info.linux: Implement the system-report. word.
authorDoug Coleman <doug.coleman@gmail.com>
Wed, 24 Apr 2013 19:05:51 +0000 (12:05 -0700)
committerDoug Coleman <doug.coleman@gmail.com>
Wed, 24 Apr 2013 19:06:23 +0000 (12:06 -0700)
basis/system-info/linux/linux.factor

index 13121a851e9b6d48084504447240db1649d0a716..c2d17fe11890cc01c7d764940833983ac21dc786 100644 (file)
@@ -1,8 +1,9 @@
 ! Copyright (C) 2008 Doug Coleman.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: alien.c-types alien.syntax byte-arrays io
+USING: accessors alien.c-types alien.syntax byte-arrays io
 io.encodings.string io.encodings.utf8 io.streams.byte-array
-kernel sequences splitting strings system system-info unix ;
+kernel sequences splitting strings system system-info unix
+unix.linux.proc math ;
 IN: system-info.linux
 
 FUNCTION-ALIAS: (uname)
@@ -19,4 +20,9 @@ FUNCTION-ALIAS: (uname)
 : machine ( -- string ) 4 uname nth ;
 : domainname ( -- string ) 5 uname nth ;
 
-M: linux os-version release ;
\ No newline at end of file
+M: linux os-version release ;
+M: linux cpus parse-proc-cpuinfo sort-cpus cpu-counts 2drop ;
+: cores ( -- n ) parse-proc-cpuinfo sort-cpus cpu-counts drop nip ;
+: hyperthreads ( -- n ) parse-proc-cpuinfo sort-cpus cpu-counts 2nip ;
+M: linux cpu-mhz parse-proc-cpuinfo first cpu-mhz>> 1,000,000 * ;
+M: linux physical-mem parse-proc-meminfo mem-total>> ;