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

Support custom awaitable types #2349

Draft
wants to merge 18 commits into
base: master
Choose a base branch
from

Commits on Sep 20, 2022

  1. Configuration menu
    Copy the full SHA
    5720494 View commit details
    Browse the repository at this point in the history

Commits on Sep 25, 2022

  1. Configuration menu
    Copy the full SHA
    4b3d20a View commit details
    Browse the repository at this point in the history

Commits on Sep 26, 2022

  1. Configuration menu
    Copy the full SHA
    f0acf70 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c4a07b0 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    4d6159c View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    c43d879 View commit details
    Browse the repository at this point in the history
  5. Refactored delegates to pass in IClock and return ValueTask<ClockSpan>.

    Force async unroll factor to 1.
    Support async IterationSetup/IterationCleanup.
    timcassell committed Sep 26, 2022
    Configuration menu
    Copy the full SHA
    9a6c74f View commit details
    Browse the repository at this point in the history

Commits on Oct 20, 2022

  1. Merge branch 'master' into valuetask-nongeneric-inprocess

    # Conflicts:
    #	tests/BenchmarkDotNet.IntegrationTests/InProcessTest.cs
    timcassell committed Oct 20, 2022
    Configuration menu
    Copy the full SHA
    ce3b1c7 View commit details
    Browse the repository at this point in the history
  2. Merge branch 'valuetask-nongeneric-inprocess' into reduce-async-overh…

    …ead-new
    
    # Conflicts:
    #	tests/BenchmarkDotNet.IntegrationTests/InProcessTest.cs
    timcassell committed Oct 20, 2022
    Configuration menu
    Copy the full SHA
    792662e View commit details
    Browse the repository at this point in the history

Commits on Jan 2, 2023

  1. Merge branch 'master' into reduce-async-overhead-new

    # Conflicts:
    #	src/BenchmarkDotNet/Engines/IEngine.cs
    #	src/BenchmarkDotNet/Toolchains/InProcess.Emit.Implementation/ConsumableTypeInfo.cs
    #	src/BenchmarkDotNet/Toolchains/InProcess.Emit.Implementation/Emitters/RunnableEmitter.cs
    timcassell committed Jan 2, 2023
    Configuration menu
    Copy the full SHA
    d3b1607 View commit details
    Browse the repository at this point in the history

Commits on Jan 21, 2023

  1. Clean up duplicated code.

    timcassell committed Jan 21, 2023
    Configuration menu
    Copy the full SHA
    85a6c47 View commit details
    Browse the repository at this point in the history

Commits on Jun 16, 2023

  1. Merge branch 'master' into reduce-async-overhead-new

    # Conflicts:
    #	src/BenchmarkDotNet/Toolchains/InProcess/BenchmarkAction.cs
    #	src/BenchmarkDotNet/Toolchains/InProcess/BenchmarkActionFactory.cs
    #	src/BenchmarkDotNet/Toolchains/InProcess/BenchmarkActionFactory_Implementations.cs
    #	src/BenchmarkDotNet/Toolchains/InProcess/Emit/Implementation/Emitters/TaskConsumeEmitter.cs
    #	src/BenchmarkDotNet/Toolchains/InProcess/InProcessRunner.cs
    #	tests/BenchmarkDotNet.IntegrationTests/InProcessTest.cs
    timcassell committed Jun 16, 2023
    Configuration menu
    Copy the full SHA
    299d279 View commit details
    Browse the repository at this point in the history

Commits on Jun 24, 2023

  1. Configuration menu
    Copy the full SHA
    3c398d0 View commit details
    Browse the repository at this point in the history

Commits on Jun 27, 2023

  1. Added config option to add async consumers.

    Use async consumers in toolchains (WIP).
    timcassell committed Jun 27, 2023
    Configuration menu
    Copy the full SHA
    61de07f View commit details
    Browse the repository at this point in the history

Commits on Jun 29, 2023

  1. Corrected AsyncBenchmarkRunner type in generated code.

    Handle overhead without duplicating the state machine code.
    timcassell committed Jun 29, 2023
    Configuration menu
    Copy the full SHA
    a4e72c8 View commit details
    Browse the repository at this point in the history
  2. Split IAsyncConsumer to IAsyncVoidConsumer and IAsyncResultConsumer.

    Split AsyncBenchmarkRunner workload and overhead.
    timcassell committed Jun 29, 2023
    Configuration menu
    Copy the full SHA
    4242bee View commit details
    Browse the repository at this point in the history
  3. Pass arguments directly if awaitable.

    Use abstract base class without generics.
    Explicitly specify overhead awaitable/awaiter types.
    Use awaitable types in InProcessNoEmitToolchain.
    timcassell committed Jun 29, 2023
    Configuration menu
    Copy the full SHA
    fbbb467 View commit details
    Browse the repository at this point in the history

Commits on Jul 2, 2023

  1. Separated awaitable adapter and async method builder adapter.

    Support multiple generic arguments in adapters.
    No need to pass awaitable type to config, only pass awaitable adapter type.
    timcassell committed Jul 2, 2023
    Configuration menu
    Copy the full SHA
    b976a8e View commit details
    Browse the repository at this point in the history