The performance test is bizarre, and literally nothing in the development guide ever shows anything but single-thread serial code for i/o.
What, exactly, happens if a second user accesses the website while a request is processing?
Also the docs don't explain how fibers are being used -- what is the scheduling strategy? Is there even more than one fiber?
Think of a data-shuffling pipeline that also updates statistics (in the background): running the next stage of the pipeline is more likely to get rid of lots of memory chunks than is running the statistics code. It also improves pipeline latency, of course. The scheduling definitely matters even for cooperative threading.
https://fibjs.org/en/docs/guide/about.md.html
The comparison doesn't do half of what the original did. Bizarre
Surely using async/await would get you to something nearly as clean as their end-state
It sounds like FibJS supports async/await as well, but that just means there are two ways of doing things: I suspect a big reason promises won out is because they could be easily polyfilled into browsers, and a bit part of NodeJS’s appeal was using the same libraries on both sides.