Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Is Ply going to be obsolete? #24

Open
JustinWick opened this issue Sep 12, 2021 · 2 comments
Open

Is Ply going to be obsolete? #24

JustinWick opened this issue Sep 12, 2021 · 2 comments

Comments

@JustinWick
Copy link

I've been using Ply to great effect on an ultra-low-latency proof of concept, and it's been a joy to use. As of RFC FS-1072 native CE support for task creation is now an official part of F#, albeit on an experimental basis.

Do you believe that this will obsolete F#? Are there any benchmarks that compare Ply performance and the official F# support?

@pbiggar
Copy link

pbiggar commented Nov 29, 2021

I made some benchmarks comparing Ply and F# 6. The results are a little hard to read (and some of the results, eg vtask and uvtask aren't run in F# 6), but the summary is this:

  • F# 6 tasks got 15.7k req/s
  • The uply builder got 22.6k req/s

So uply is 43% faster. I believe it's because the F# 6 Task has an allocation, and uply doesn't.

@dsyme
Copy link

dsyme commented Nov 29, 2021

Yup, uply is a masterpiece and this is about what we expect.

My understanding the perf difference lies on the fundamentals of the UPly and Task types, the latter not being under F#'s control but defined in the BCL.

That said uply has subtleties which task doesn't have, summarised on the home page https://github.com/crowded/ply/

@NinoFloris Do you think resumable code will bring any benefits to uply or is it optimal?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants