program ideone;
{$linklib libc}
uses ctypes;
const
_SC_TRACE_LOG = 184;
_SC_LEVEL1_ICACHE_SIZE = 185;
_SC_LEVEL1_ICACHE_ASSOC = 186;
_SC_LEVEL1_ICACHE_LINESIZE = 187;
_SC_LEVEL1_DCACHE_SIZE = 188;
_SC_LEVEL1_DCACHE_ASSOC = 189;
_SC_MEMORY_PROTECTION = 19;
_SC_LEVEL1_DCACHE_LINESIZE = 190;
_SC_LEVEL2_CACHE_SIZE = 191;
_SC_LEVEL2_CACHE_ASSOC = 192;
_SC_LEVEL2_CACHE_LINESIZE = 193;
_SC_LEVEL3_CACHE_SIZE = 194;
_SC_LEVEL3_CACHE_ASSOC = 195;
_SC_LEVEL3_CACHE_LINESIZE = 196;
_SC_LEVEL4_CACHE_SIZE = 197;
_SC_LEVEL4_CACHE_ASSOC = 198;
_SC_LEVEL4_CACHE_LINESIZE = 199;
function sysconf(name: cint): clong; cdecl; external;
begin
writeln('cpu count: ',GetCPUCount);
writeln('level 1:');
writeln('cache size: ', sysconf(_SC_LEVEL1_ICACHE_SIZE));
writeln('cache ass: ', sysconf(_SC_LEVEL1_ICACHE_ASSOC));
writeln('cache line: ', sysconf(_SC_LEVEL1_ICACHE_LINESIZE));
end.