We want to run sequence operations with backend in concurrency.
Solution:
Used Async effect
Used sequenceConcurrently instead of forM
Used MVar instead of StateT
Some benchmarks:
Created 1000 entries.
Async | Sync
Copy-Async | Copy-Sync
real 0m7.092s | real 0m8.113s
user 0m3.757s | user 0m3.394s
sys 0m1.078s | sys 0m1.102s
Rename-Async | Rename-Sync
real 0m8.503s | real 0m9.078s
user 0m4.357s | user 0m4.138s
sys 0m1.285s | sys 0m1.204s
View-Async | View-Sync
real 0m0.958s | real 0m1.286s
user 0m0.485s | user 0m0.414s
sys 0m0.224s | sys 0m0.209s
Delete-Async | Delete-Sync
real 0m1.991s | real 0m2.573s
user 0m0.928s | user 0m0.899s
sys 0m0.440s | sys 0m0.396s
Related issue(s)
Fixed #4
:white_check_mark: Checklist for your Pull Request
Related changes (conditional)
Tests
[ ] If I added new functionality, I added tests covering it.
[ ] If I fixed a bug, I added a regression test to prevent the bug from
silently reappearing again.
Documentation
[ ] I checked whether I should update the docs and did so if necessary:
Description
Motivation:
We want to run sequence operations with backend in concurrency.
Solution:
Async
effectsequenceConcurrently
instead of forMSome benchmarks:
Related issue(s)
Fixed #4
:white_check_mark: Checklist for your Pull Request
Related changes (conditional)
Tests
Documentation
Stylistic guide (mandatory)