dotnet / runtimelab

This repo is for experimentation and exploring new ideas that may or may not make it into the main dotnet/runtime repo.
MIT License
1.4k stars 196 forks source link

[Async-2]: Tasklet aging #2425

Closed VSadov closed 9 months ago

VSadov commented 10 months ago
VSadov commented 10 months ago

@jakobbotsch - I expect the state-machine flavor to behave similar to async-1 on this test, but could not measure due to unexpected exceptions.
Possible some issue with keeping continuations alive?

async-2 ===================== 
..........Time per Gen0 GC (microseconds): 377
System.AggregateException: One or more errors occurred. (Object reference not set to an instance of an object.) (Object reference not set to an instance of an object.) (Object reference not set to an instance of an object.) (Object reference not set to an instance of an object.) (Object reference not set to an instance of an object.) (Object reference not set to an instance of an object.) (Object reference not set to an instance of an object.) (Object reference not set to an instance of an object.) (Object reference not set to an instance of an object.) (Object reference not set to an instance of an object.) (Object reference not set to an instance of an object.) (Object reference not set to an instance of an object.) (Object reference not set to an instance of an object.) (Object reference not set to an instance of an object.) (Object reference not set to an instance of an object.) (Object reference not set to an instance of an object.) (Object reference not set to an instance of an object.) (Object reference not set to an instance of an object.) (Object reference not set to an instance of an object.) (Object reference not set to an instance of an object.) (Object reference not set to an instance of an object.) (Object reference not set to an instance of an object.) (Object reference not . . . .
jakobbotsch commented 9 months ago

I'll take a look @VSadov. In the mean time, it looks like it works with DOTNET_TieredCompilation=0, so you can try that to get the measurements opened a PR with the fix.

VSadov commented 9 months ago

I have added GC pause/allocation observations to the write-up as a part of this PR:

https://github.com/dotnet/runtimelab/pull/2425/files#r1412337061

VSadov commented 9 months ago

Thanks!