typelevel / typelevel/cats-effect
Future "Performance" page for CE3 docs
Nobody has claimed this yet.
- Dominant language
- Scala
- Stars
- 2.2k
- Forks
- 576
- Avg merge
- 2d 11h
- Merged PRs (30d)
- 18
Description
Effect type performance is usually an exercise in missing the point, but people do kind of want to hear about it. I think it's worth talking about CE3 IO's performance relative to CE2's in two specific areas:
- Straightline performance (i.e the async "deep" and "shallow" bind benchmarks)
- Contended scheduling performance
The former is something that people often talk about because it's easy to understand, but it's also not really relevant in 99% of applications. It's still fun to look at. The contended performance though is something that we're improving dramatically in CE3 due to #1095, and it's also something that people are definitely going to be able to measure in real world applications, so I think it's worth explaining and trumpeting.
It's also worth talking about JavaScript performance a bit and the intricacies of the fact that our scheduler correctly and efficiently deals with the event queue.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the CE2/CE3 performance context described here and issue #1095, focusing on the deep/shallow bind and contended scheduling benchmarks. The page is done when it explains those comparisons, their real-world relevance, and JavaScript event-queue scheduling performance.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, scala
- Domain
- documentation, performance
- Issue type
- Documentation
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100