1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-11-21 15:04:11 -05:00
denoland-deno/runtime/ops/os
Bartek Iwańczuk 4b6305f4f2
perf(core): preserve ops between snapshots (#18080)
This commit changes the build process in a way that preserves already
registered ops in the snapshot. This allows us to skip creating hundreds of
"v8::String" on each startup, but sadly there is still some op registration
going on startup (however we're registering 49 ops instead of >200 ops). 

This situation could be further improved, by moving some of the ops 
from "runtime/" to a separate extension crates.

---------

Co-authored-by: Divy Srivastava <dj.srivastava23@gmail.com>
2023-03-18 12:51:21 +01:00
..
mod.rs perf(core): preserve ops between snapshots (#18080) 2023-03-18 12:51:21 +01:00
README.md chore(runtime): remove dependency on sys-info crate (#16441) 2022-11-02 12:47:00 +05:30
sys_info.rs fix(runtime/os): use GetPerformanceInfo for swap info on Windows (#17433) 2023-01-15 12:56:30 +00:00

os ops

loadavg

Target family Syscall Description
Linux sysinfo -
Windows - Returns DEFAULT_LOADAVG. There is no concept of loadavg on Windows
macOS, BSD getloadavg https://www.freebsd.org/cgi/man.cgi?query=getloadavg

os_release

Target family Syscall Description
Linux /proc/sys/kernel/osrelease -
Windows RtlGetVersion dwMajorVersion . dwMinorVersion . dwBuildNumber
macOS sysctl([CTL_KERN, KERN_OSRELEASE]) -

hostname

Target family Syscall Description
Unix gethostname(sysconf(_SC_HOST_NAME_MAX)) -
Windows GetHostNameW -

mem_info

Target family Syscall Description
Linux sysinfo -
Windows sysinfoapi::GlobalMemoryStatusEx -
macOS
 sysctl([CTL_HW, HW_MEMSIZE]); 
sysctl([CTL_VM, VM_SWAPUSAGE]);
host_statistics64(mach_host_self(), HOST_VM_INFO64)
-