Project

General

Profile

Actions

Bug #15775

closed

Bug #15205: Use blocking threadpool for unsafeRun()

Performance problems with ZIO

Added by François ARMAND about 5 years ago. Updated about 5 years ago.

Status:
Released
Priority:
N/A
Category:
Performance and scalability
Target version:
Severity:
UX impact:
User visibility:
Effort required:
Priority:
0
Name check:
To do
Fix check:
To do
Regression:

Description

We found order of magnitude performance decrease with the new ZIO backend.

The problem seems to come (at least) from:

- slow LDAP connections read. It seems to be linked to ZIO, but not sure why (most likely, cost of interpretation of ZIO programs on that context). That leads to dynamic groups update taking > x10 time in 5.1 than in 5.0 ;
- thousands of short living threads (most of them linked to cats.something). That is extremely expensive.

Some references:
- Blocking as default `effect` import?: https://github.com/zio/zio/issues/1275
- Zio run blocking backwardscompatible code: https://stackoverflow.com/questions/55380840/zio-run-blocking-backwardscompatible-code

Actions

Also available in: Atom PDF