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