now has better hrtMeasurement
This commit is contained in:
		
							
								
								
									
										22
									
								
								dist/early.hrtMeasurement.d.ts
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								dist/early.hrtMeasurement.d.ts
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,22 @@ | |||||||
|  | /** | ||||||
|  |  * easy high resolution time measurement | ||||||
|  |  */ | ||||||
|  | export declare class HrtMeasurement { | ||||||
|  |     nanoSeconds: number; | ||||||
|  |     milliSeconds: number; | ||||||
|  |     private _hrTimeStart; | ||||||
|  |     private _hrTimeStopDiff; | ||||||
|  |     private _started; | ||||||
|  |     /** | ||||||
|  |      * start the measurement | ||||||
|  |      */ | ||||||
|  |     start(): void; | ||||||
|  |     /** | ||||||
|  |      * stop the measurement | ||||||
|  |      */ | ||||||
|  |     stop(): this; | ||||||
|  |     /** | ||||||
|  |      * reset the measurement | ||||||
|  |      */ | ||||||
|  |     reset(): void; | ||||||
|  | } | ||||||
							
								
								
									
										47
									
								
								dist/early.hrtMeasurement.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								dist/early.hrtMeasurement.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,47 @@ | |||||||
|  | "use strict"; | ||||||
|  | Object.defineProperty(exports, "__esModule", { value: true }); | ||||||
|  | const process = require("process"); | ||||||
|  | /** | ||||||
|  |  * easy high resolution time measurement | ||||||
|  |  */ | ||||||
|  | class HrtMeasurement { | ||||||
|  |     constructor() { | ||||||
|  |         this.nanoSeconds = null; | ||||||
|  |         this.milliSeconds = null; | ||||||
|  |         this._hrTimeStart = null; | ||||||
|  |         this._hrTimeStopDiff = null; | ||||||
|  |         this._started = false; | ||||||
|  |     } | ||||||
|  |     /** | ||||||
|  |      * start the measurement | ||||||
|  |      */ | ||||||
|  |     start() { | ||||||
|  |         this._started = true; | ||||||
|  |         this._hrTimeStart = process.hrtime(); | ||||||
|  |     } | ||||||
|  |     /** | ||||||
|  |      * stop the measurement | ||||||
|  |      */ | ||||||
|  |     stop() { | ||||||
|  |         if (this._started === false) { | ||||||
|  |             console.log('Hasn\'t started yet'); | ||||||
|  |             return; | ||||||
|  |         } | ||||||
|  |         this._hrTimeStopDiff = process.hrtime(this._hrTimeStart); | ||||||
|  |         this.nanoSeconds = (this._hrTimeStopDiff[0] * 1e9) + this._hrTimeStopDiff[1]; | ||||||
|  |         this.milliSeconds = this.nanoSeconds / 1000000; | ||||||
|  |         return this; | ||||||
|  |     } | ||||||
|  |     /** | ||||||
|  |      * reset the measurement | ||||||
|  |      */ | ||||||
|  |     reset() { | ||||||
|  |         this.nanoSeconds = null; | ||||||
|  |         this.milliSeconds = null; | ||||||
|  |         this._hrTimeStart = null; | ||||||
|  |         this._hrTimeStopDiff = null; | ||||||
|  |         this._started = false; | ||||||
|  |     } | ||||||
|  | } | ||||||
|  | exports.HrtMeasurement = HrtMeasurement; | ||||||
|  | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWFybHkuaHJ0TWVhc3VyZW1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9lYXJseS5ocnRNZWFzdXJlbWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLG1DQUFrQztBQUVsQzs7R0FFRztBQUNIO0lBQUE7UUFDRSxnQkFBVyxHQUFXLElBQUksQ0FBQTtRQUMxQixpQkFBWSxHQUFXLElBQUksQ0FBQTtRQUNuQixpQkFBWSxHQUFHLElBQUksQ0FBQTtRQUNuQixvQkFBZSxHQUFHLElBQUksQ0FBQTtRQUN0QixhQUFRLEdBQVksS0FBSyxDQUFBO0lBa0NuQyxDQUFDO0lBaENDOztPQUVHO0lBQ0gsS0FBSztRQUNILElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFBO1FBQ3BCLElBQUksQ0FBQyxZQUFZLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFBO0lBQ3RDLENBQUM7SUFFRDs7T0FFRztJQUNILElBQUk7UUFDRixFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDNUIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFBO1lBQ2xDLE1BQU0sQ0FBQTtRQUNSLENBQUM7UUFDRCxJQUFJLENBQUMsZUFBZSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFBO1FBQ3hELElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDNUUsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQTtRQUM5QyxNQUFNLENBQUMsSUFBSSxDQUFBO0lBQ2IsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSztRQUNILElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFBO1FBQ3ZCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFBO1FBQ3hCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFBO1FBQ3hCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFBO1FBQzNCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFBO0lBQ3ZCLENBQUM7Q0FDRjtBQXZDRCx3Q0F1Q0MifQ== | ||||||
							
								
								
									
										11
									
								
								dist/index.d.ts
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										11
									
								
								dist/index.d.ts
									
									
									
									
										vendored
									
									
								
							| @@ -1,15 +1,8 @@ | |||||||
| import 'typings-global'; | import 'typings-global'; | ||||||
|  | import { HrtMeasurement } from './early.hrtMeasurement'; | ||||||
|  | export { HrtMeasurement }; | ||||||
| /** | /** | ||||||
|  * start the loading |  * start the loading | ||||||
|  */ |  */ | ||||||
| export declare let start: (moduleNameArg?: string, loaderLengthArg?: string) => void; | export declare let start: (moduleNameArg?: string, loaderLengthArg?: string) => void; | ||||||
| export declare let stop: () => Promise<number>; | export declare let stop: () => Promise<number>; | ||||||
| export declare class hrtMeasurement { |  | ||||||
|     private _started; |  | ||||||
|     private _hrTimeStart; |  | ||||||
|     start(): void; |  | ||||||
|     stop(): { |  | ||||||
|         nanoSeconds: number; |  | ||||||
|         milliSeconds: number; |  | ||||||
|     }; |  | ||||||
| } |  | ||||||
|   | |||||||
							
								
								
									
										35
									
								
								dist/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										35
									
								
								dist/index.js
									
									
									
									
										vendored
									
									
								
							| @@ -3,10 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true }); | |||||||
| require("typings-global"); | require("typings-global"); | ||||||
| const beautycolor = require("beautycolor"); | const beautycolor = require("beautycolor"); | ||||||
| const smartq = require("smartq"); | const smartq = require("smartq"); | ||||||
| const process = require("process"); | const early_hrtMeasurement_1 = require("./early.hrtMeasurement"); | ||||||
|  | exports.HrtMeasurement = early_hrtMeasurement_1.HrtMeasurement; | ||||||
| let doText = false; | let doText = false; | ||||||
| let moduleName = 'undefined module name'; | let moduleName = 'undefined module name'; | ||||||
| let startTime = Date.now(); | let startHrt; | ||||||
| if (process.argv.indexOf('-v') === -1) { | if (process.argv.indexOf('-v') === -1) { | ||||||
|     doText = true; |     doText = true; | ||||||
| } | } | ||||||
| @@ -15,40 +16,18 @@ if (process.argv.indexOf('-v') === -1) { | |||||||
|  */ |  */ | ||||||
| exports.start = function (moduleNameArg = '', loaderLengthArg = '10') { | exports.start = function (moduleNameArg = '', loaderLengthArg = '10') { | ||||||
|     moduleName = moduleNameArg; |     moduleName = moduleNameArg; | ||||||
|  |     startHrt = new early_hrtMeasurement_1.HrtMeasurement(); | ||||||
|  |     startHrt.start(); | ||||||
|     if (doText) { |     if (doText) { | ||||||
|         console.log(`**** starting ${beautycolor.coloredString(moduleNameArg, 'green')} ****`); |         console.log(`**** starting ${beautycolor.coloredString(moduleNameArg, 'green')} ****`); | ||||||
|     } |     } | ||||||
| }; | }; | ||||||
| exports.stop = () => { | exports.stop = () => { | ||||||
|     let done = smartq.defer(); |     let done = smartq.defer(); | ||||||
|     let endTime = Date.now(); |     let earlyExecutionTime = startHrt.stop().milliSeconds; | ||||||
|     let earlyExecutionTime = (endTime - startTime); |  | ||||||
|     let earlyExecutionTimeString = (earlyExecutionTime / 1000).toString(); |     let earlyExecutionTimeString = (earlyExecutionTime / 1000).toString(); | ||||||
|     console.log(`OK! -> finished loading within ${beautycolor.coloredString(earlyExecutionTimeString, 'blue')}`); |     console.log(`OK! -> finished loading within ${beautycolor.coloredString(earlyExecutionTimeString, 'blue')}`); | ||||||
|     done.resolve(earlyExecutionTime); |     done.resolve(earlyExecutionTime); | ||||||
|     return done.promise; |     return done.promise; | ||||||
| }; | }; | ||||||
| class hrtMeasurement { | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDBCQUF1QjtBQUN2QiwyQ0FBMEM7QUFDMUMsaUNBQWdDO0FBQ2hDLGlFQUF1RDtBQUdyRCx5QkFITyxxQ0FBYyxDQUdQO0FBR2hCLElBQUksTUFBTSxHQUFZLEtBQUssQ0FBQTtBQUMzQixJQUFJLFVBQVUsR0FBVyx1QkFBdUIsQ0FBQTtBQUNoRCxJQUFJLFFBQXdCLENBQUE7QUFFNUIsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3RDLE1BQU0sR0FBRyxJQUFJLENBQUE7QUFDZixDQUFDO0FBRUQ7O0dBRUc7QUFDUSxRQUFBLEtBQUssR0FBRyxVQUFVLGdCQUF3QixFQUFFLEVBQUUsa0JBQTBCLElBQUk7SUFDckYsVUFBVSxHQUFHLGFBQWEsQ0FBQTtJQUMxQixRQUFRLEdBQUcsSUFBSSxxQ0FBYyxFQUFFLENBQUE7SUFDL0IsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFBO0lBQ2hCLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDWCxPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFpQixXQUFXLENBQUMsYUFBYSxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDeEYsQ0FBQztBQUNILENBQUMsQ0FBQTtBQUVVLFFBQUEsSUFBSSxHQUFHO0lBQ2hCLElBQUksSUFBSSxHQUFHLE1BQU0sQ0FBQyxLQUFLLEVBQVUsQ0FBQTtJQUNqQyxJQUFJLGtCQUFrQixHQUFHLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxZQUFZLENBQUE7SUFDckQsSUFBSSx3QkFBd0IsR0FBVyxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFBO0lBQzdFLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0NBQWtDLFdBQVcsQ0FBQyxhQUFhLENBQUMsd0JBQXdCLEVBQUUsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBQzVHLElBQUksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FBQTtJQUNoQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQTtBQUNyQixDQUFDLENBQUEifQ== | ||||||
|     constructor() { |  | ||||||
|         this._started = false; |  | ||||||
|     } |  | ||||||
|     start() { |  | ||||||
|         this._started = true; |  | ||||||
|         this._hrTimeStart = process.hrtime(); |  | ||||||
|     } |  | ||||||
|     stop() { |  | ||||||
|         if (this._started === false) { |  | ||||||
|             console.log('Hasn\'t started yet'); |  | ||||||
|             return; |  | ||||||
|         } |  | ||||||
|         let diffTime = process.hrtime(this._hrTimeStart); |  | ||||||
|         let nanoSeconds = (diffTime[0] * 1e9) + diffTime[1]; |  | ||||||
|         let milliSeconds = nanoSeconds / 1000000; |  | ||||||
|         return { |  | ||||||
|             nanoSeconds: nanoSeconds, |  | ||||||
|             milliSeconds: milliSeconds |  | ||||||
|         }; |  | ||||||
|     } |  | ||||||
| } |  | ||||||
| exports.hrtMeasurement = hrtMeasurement; |  | ||||||
| //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDBCQUF1QjtBQUN2QiwyQ0FBMEM7QUFDMUMsaUNBQWdDO0FBQ2hDLG1DQUFrQztBQUVsQyxJQUFJLE1BQU0sR0FBWSxLQUFLLENBQUE7QUFDM0IsSUFBSSxVQUFVLEdBQVcsdUJBQXVCLENBQUE7QUFDaEQsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFBO0FBRTFCLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN0QyxNQUFNLEdBQUcsSUFBSSxDQUFBO0FBQ2YsQ0FBQztBQUVEOztHQUVHO0FBQ1EsUUFBQSxLQUFLLEdBQUcsVUFBVSxnQkFBd0IsRUFBRSxFQUFFLGtCQUEwQixJQUFJO0lBQ3JGLFVBQVUsR0FBRyxhQUFhLENBQUE7SUFDMUIsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUNYLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLFdBQVcsQ0FBQyxhQUFhLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUN4RixDQUFDO0FBQ0gsQ0FBQyxDQUFBO0FBRVUsUUFBQSxJQUFJLEdBQUc7SUFDaEIsSUFBSSxJQUFJLEdBQUcsTUFBTSxDQUFDLEtBQUssRUFBVSxDQUFBO0lBQ2pDLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQTtJQUN4QixJQUFJLGtCQUFrQixHQUFXLENBQUMsT0FBTyxHQUFHLFNBQVMsQ0FBQyxDQUFBO0lBQ3RELElBQUksd0JBQXdCLEdBQVcsQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQTtJQUM3RSxPQUFPLENBQUMsR0FBRyxDQUFDLGtDQUFrQyxXQUFXLENBQUMsYUFBYSxDQUFDLHdCQUF3QixFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQTtJQUM1RyxJQUFJLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBQUE7SUFDaEMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUE7QUFDckIsQ0FBQyxDQUFBO0FBRUQ7SUFBQTtRQUNVLGFBQVEsR0FBWSxLQUFLLENBQUE7SUFtQm5DLENBQUM7SUFqQkMsS0FBSztRQUNILElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFBO1FBQ3BCLElBQUksQ0FBQyxZQUFZLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFBO0lBQ3RDLENBQUM7SUFDRCxJQUFJO1FBQ0YsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQzVCLE9BQU8sQ0FBQyxHQUFHLENBQUMscUJBQXFCLENBQUMsQ0FBQTtZQUNsQyxNQUFNLENBQUE7UUFDUixDQUFDO1FBQ0QsSUFBSSxRQUFRLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUE7UUFDaEQsSUFBSSxXQUFXLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQ25ELElBQUksWUFBWSxHQUFHLFdBQVcsR0FBRyxPQUFPLENBQUE7UUFDeEMsTUFBTSxDQUFDO1lBQ0wsV0FBVyxFQUFFLFdBQVc7WUFDeEIsWUFBWSxFQUFFLFlBQVk7U0FDM0IsQ0FBQTtJQUNILENBQUM7Q0FDRjtBQXBCRCx3Q0FvQkMifQ== |  | ||||||
| @@ -12,7 +12,7 @@ tap.test('.stop()', async () => { | |||||||
| }) | }) | ||||||
|  |  | ||||||
| tap.test('hrTime Measurement', async () => { | tap.test('hrTime Measurement', async () => { | ||||||
|   let earlyHr = new early.hrtMeasurement() |   let earlyHr = new early.HrtMeasurement() | ||||||
|   earlyHr.start() |   earlyHr.start() | ||||||
|   await smartdelay.delayFor(1000) |   await smartdelay.delayFor(1000) | ||||||
|   let measuredTime = earlyHr.stop() |   let measuredTime = earlyHr.stop() | ||||||
|   | |||||||
							
								
								
									
										45
									
								
								ts/early.hrtMeasurement.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								ts/early.hrtMeasurement.ts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,45 @@ | |||||||
|  | import * as process from 'process' | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * easy high resolution time measurement | ||||||
|  |  */ | ||||||
|  | export class HrtMeasurement { | ||||||
|  |   nanoSeconds: number = null | ||||||
|  |   milliSeconds: number = null | ||||||
|  |   private _hrTimeStart = null | ||||||
|  |   private _hrTimeStopDiff = null | ||||||
|  |   private _started: boolean = false | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  |    * start the measurement | ||||||
|  |    */ | ||||||
|  |   start () { | ||||||
|  |     this._started = true | ||||||
|  |     this._hrTimeStart = process.hrtime() | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  |    * stop the measurement | ||||||
|  |    */ | ||||||
|  |   stop () { | ||||||
|  |     if (this._started === false) { | ||||||
|  |       console.log('Hasn\'t started yet') | ||||||
|  |       return | ||||||
|  |     } | ||||||
|  |     this._hrTimeStopDiff = process.hrtime(this._hrTimeStart) | ||||||
|  |     this.nanoSeconds = (this._hrTimeStopDiff[0] * 1e9) + this._hrTimeStopDiff[1] | ||||||
|  |     this.milliSeconds = this.nanoSeconds / 1000000 | ||||||
|  |     return this | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  |    * reset the measurement | ||||||
|  |    */ | ||||||
|  |   reset () { | ||||||
|  |     this.nanoSeconds = null | ||||||
|  |     this.milliSeconds = null | ||||||
|  |     this._hrTimeStart = null | ||||||
|  |     this._hrTimeStopDiff = null | ||||||
|  |     this._started = false | ||||||
|  |   } | ||||||
|  | } | ||||||
							
								
								
									
										35
									
								
								ts/index.ts
									
									
									
									
									
								
							
							
						
						
									
										35
									
								
								ts/index.ts
									
									
									
									
									
								
							| @@ -1,11 +1,15 @@ | |||||||
| import 'typings-global' | import 'typings-global' | ||||||
| import * as beautycolor from 'beautycolor' | import * as beautycolor from 'beautycolor' | ||||||
| import * as smartq from 'smartq' | import * as smartq from 'smartq' | ||||||
| import * as process from 'process' | import { HrtMeasurement } from './early.hrtMeasurement' | ||||||
|  |  | ||||||
|  | export { | ||||||
|  |   HrtMeasurement | ||||||
|  | } | ||||||
|  |  | ||||||
| let doText: boolean = false | let doText: boolean = false | ||||||
| let moduleName: string = 'undefined module name' | let moduleName: string = 'undefined module name' | ||||||
| let startTime = Date.now() | let startHrt: HrtMeasurement | ||||||
|  |  | ||||||
| if (process.argv.indexOf('-v') === -1) { | if (process.argv.indexOf('-v') === -1) { | ||||||
|   doText = true |   doText = true | ||||||
| @@ -16,6 +20,8 @@ if (process.argv.indexOf('-v') === -1) { | |||||||
|  */ |  */ | ||||||
| export let start = function (moduleNameArg: string = '', loaderLengthArg: string = '10') { | export let start = function (moduleNameArg: string = '', loaderLengthArg: string = '10') { | ||||||
|   moduleName = moduleNameArg |   moduleName = moduleNameArg | ||||||
|  |   startHrt = new HrtMeasurement() | ||||||
|  |   startHrt.start() | ||||||
|   if (doText) { |   if (doText) { | ||||||
|     console.log(`**** starting ${beautycolor.coloredString(moduleNameArg, 'green')} ****`) |     console.log(`**** starting ${beautycolor.coloredString(moduleNameArg, 'green')} ****`) | ||||||
|   } |   } | ||||||
| @@ -23,32 +29,9 @@ export let start = function (moduleNameArg: string = '', loaderLengthArg: string | |||||||
|  |  | ||||||
| export let stop = (): Promise<number> => { | export let stop = (): Promise<number> => { | ||||||
|   let done = smartq.defer<number>() |   let done = smartq.defer<number>() | ||||||
|   let endTime = Date.now() |   let earlyExecutionTime = startHrt.stop().milliSeconds | ||||||
|   let earlyExecutionTime: number = (endTime - startTime) |  | ||||||
|   let earlyExecutionTimeString: string = (earlyExecutionTime / 1000).toString() |   let earlyExecutionTimeString: string = (earlyExecutionTime / 1000).toString() | ||||||
|   console.log(`OK! -> finished loading within ${beautycolor.coloredString(earlyExecutionTimeString, 'blue')}`) |   console.log(`OK! -> finished loading within ${beautycolor.coloredString(earlyExecutionTimeString, 'blue')}`) | ||||||
|   done.resolve(earlyExecutionTime) |   done.resolve(earlyExecutionTime) | ||||||
|   return done.promise |   return done.promise | ||||||
| } | } | ||||||
|  |  | ||||||
| export class hrtMeasurement { |  | ||||||
|   private _started: boolean = false |  | ||||||
|   private _hrTimeStart |  | ||||||
|   start () { |  | ||||||
|     this._started = true |  | ||||||
|     this._hrTimeStart = process.hrtime() |  | ||||||
|   } |  | ||||||
|   stop () { |  | ||||||
|     if (this._started === false) { |  | ||||||
|       console.log('Hasn\'t started yet') |  | ||||||
|       return |  | ||||||
|     } |  | ||||||
|     let diffTime = process.hrtime(this._hrTimeStart) |  | ||||||
|     let nanoSeconds = (diffTime[0] * 1e9) + diffTime[1] |  | ||||||
|     let milliSeconds = nanoSeconds / 1000000 |  | ||||||
|     return { |  | ||||||
|       nanoSeconds: nanoSeconds, |  | ||||||
|       milliSeconds: milliSeconds |  | ||||||
|     } |  | ||||||
|   } |  | ||||||
| } |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user