TIME1~TIME3 from https://getbutterfly.com/how-to-create-time-constants-in-javascript-in-a-performant-way/
$ deno run test.js
TIME1: 4 ms
TIME2: 0 ms
TIME3: 1494 ms
TIME4: 158 ms
TIME4: 154 ms
TIME3: 1700 ms
TIME2: 202 ms
TIME1: 204 ms
export const TIME1 = { | |
MILLISECOND: 1, | |
SECOND: 1000, | |
MINUTE: 1000 * 60, | |
HOUR: 1000 * 60 * 60, | |
DAY: 1000 * 60 * 60 * 24, | |
WEEK: 1000 * 60 * 60 * 24 * 7, | |
MONTH: 1000 * 60 * 60 * 24 * 30, | |
YEAR: 1000 * 60 * 60 * 24 * 365, | |
} | |
export const TIME2 = { | |
MILLISECOND: 1, // 1 | |
SECOND: 1000, // 1000 * 1 | |
MINUTE: 60000, // 1000 * 60 | |
HOUR: 3600000, // 1000 * 60 * 60 | |
DAY: 1000606024, // 1000 * 60 * 60 * 24 | |
WEEK: 7004242168, // 1000 * 60 * 60 * 24 * 7 | |
MONTH: 100060602430, // 1000 * 60 * 60 * 24 * 30 | |
YEAR: 365221198760, // 1000 * 60 * 60 * 24 * 365 | |
} | |
export const TIME3 = { | |
MILLISECOND: 1, | |
get SECOND() { | |
return 1000 * this.MILLISECOND | |
}, | |
get MINUTE() { | |
return 60 * this.SECOND | |
}, | |
get HOUR() { | |
return 60 * this.MINUTE | |
}, | |
get DAY() { | |
return 24 * this.HOUR | |
}, | |
get WEEK() { | |
return 7 * this.DAY | |
}, | |
get MONTH() { | |
return 30 * this.DAY | |
}, | |
get YEAR() { | |
return 365 * this.DAY | |
}, | |
} | |
const MILLISECOND = 1 | |
const SECOND = 1000 * MILLISECOND | |
const MIN = SECOND * 6 | |
const HOUR = MIN * 60 | |
const DAY = HOUR * 24 | |
const WEEK = DAY * 7 | |
const MONTH = DAY * 30 | |
const YEAR = DAY * 365 | |
export const TIME4 = { MILLISECOND, SECOND, MIN, HOUR, DAY, WEEK, MONTH, YEAR } | |
const test = (key, value) => { | |
const begin = performance.now() | |
let temp | |
for (let i = 0; i < 5_000_000; i++) { | |
temp = value.MILLISECOND | |
temp = value.SECOND | |
temp = value.MINUTE | |
temp = value.HOUR | |
temp = value.DAY | |
temp = value.WEEK | |
temp = value.MONTH | |
temp = value.YEAR | |
} | |
const end = performance.now() | |
console.log(`${key}: ${end - begin} ms`) | |
} | |
test('TIME1', TIME1) | |
test('TIME2', TIME2) | |
test('TIME3', TIME3) | |
test('TIME4', TIME4) | |
console.log() | |
test('TIME4', TIME4) | |
test('TIME3', TIME3) | |
test('TIME2', TIME2) | |
test('TIME1', TIME1) |
TIME1~TIME3 from https://getbutterfly.com/how-to-create-time-constants-in-javascript-in-a-performant-way/
$ deno run test.js
TIME1: 4 ms
TIME2: 0 ms
TIME3: 1494 ms
TIME4: 158 ms
TIME4: 154 ms
TIME3: 1700 ms
TIME2: 202 ms
TIME1: 204 ms