|
|
|
|
|
by qazxcvbnm
1324 days ago
|
|
No, the promise doesn't block, it just stays a promise. However, for synchronous calls, the Promise overhead is obviated. In other words, the performance price of synchronous vs asynchronous calls is the price of a function call vs Promise implementation (i.e. event-loop machinery); the price of a function call, including the stack frame allocation, which is non-zero (recall the times that assembly programmers would dismiss languages like C as 'too-slow', having to allocate on function calls), versus pushing the Promise closure onto an event-loop, exiting the current event-loop, waiting for the next event-tick, popping off the next closure from the event stack, then creating the function call stack frame under a closure. For inner-loops, the difference can be 20ms vs 20s. |
|