///|
extern "js" fn perf_now() -> Double =
#| () => {
#| if (typeof performance !== 'undefined') return performance.now();
#| if (typeof process !== 'undefined') {
#| const [s, ns] = process.hrtime();
#| return s * 1000 + ns / 1e6;
#| }
#| return Date.now();
#| }
///|
extern "js" fn perf_log(msg : String) -> Unit =
#| (msg) => {
#| if (
#| typeof process !== 'undefined' &&
#| process.env &&
#| process.env.CRATER_PERF_LOG === '1'
#| ) {
#| process.stderr.write(msg + '\n');
#| }
#| }