fork download
  1. program ideone;
  2. {$linklib libc}
  3. uses ctypes;
  4.  
  5. const
  6. _SC_TRACE_LOG = 184;
  7. _SC_LEVEL1_ICACHE_SIZE = 185;
  8. _SC_LEVEL1_ICACHE_ASSOC = 186;
  9. _SC_LEVEL1_ICACHE_LINESIZE = 187;
  10. _SC_LEVEL1_DCACHE_SIZE = 188;
  11. _SC_LEVEL1_DCACHE_ASSOC = 189;
  12. _SC_MEMORY_PROTECTION = 19;
  13. _SC_LEVEL1_DCACHE_LINESIZE = 190;
  14. _SC_LEVEL2_CACHE_SIZE = 191;
  15. _SC_LEVEL2_CACHE_ASSOC = 192;
  16. _SC_LEVEL2_CACHE_LINESIZE = 193;
  17. _SC_LEVEL3_CACHE_SIZE = 194;
  18. _SC_LEVEL3_CACHE_ASSOC = 195;
  19. _SC_LEVEL3_CACHE_LINESIZE = 196;
  20. _SC_LEVEL4_CACHE_SIZE = 197;
  21. _SC_LEVEL4_CACHE_ASSOC = 198;
  22. _SC_LEVEL4_CACHE_LINESIZE = 199;
  23.  
  24. function sysconf(name: cint): clong; cdecl; external;
  25.  
  26. begin
  27. writeln('cpu count: ',GetCPUCount);
  28. writeln('level 1:');
  29. writeln('cache size: ', sysconf(_SC_LEVEL1_ICACHE_SIZE));
  30. writeln('cache ass: ', sysconf(_SC_LEVEL1_ICACHE_ASSOC));
  31. writeln('cache line: ', sysconf(_SC_LEVEL1_ICACHE_LINESIZE));
  32. end.
Success #stdin #stdout 0s 5296KB
stdin
Standard input is empty
stdout
cpu count: 1
level 1:
cache size: 32768
cache ass:  8
cache line: 64