Code Monkey home page Code Monkey logo

invokebenchmark's Introduction

InvokeBenchmark

This is a simple project inspired by Dmitry Valyukov (https://rsdn.org/account/info/21096). Idea is to measure the overhead of various methods to perform a direct or indirect call in .Net.

Usage

  1. Checkout
  2. Build InvokeBenchmark.sln in the Release configuration
  3. Switch to the ./Invoke.Benchmark/bin/Release/Net5.0/ folder
  4. Run the Invoke.Benchmark.exe

Note that building/running on Linux is not (yet) supported.

Result comments

The "baseline" method represents a direct call to the method that adds one to the ulong reference passed to it. All the other methods are measured in terms of additional overhead. Think of Ratio column values minus one - it will show how much time does the measured call method take compared to the "call and increment" operation. Diff Ratio column does also scale this to the current winner - managed function pointer call. I.e. it's overhead is set to 1; all the other call method overheads in that column are measured against it.

Once I add the GitHub Actions support, this page will feature the recent stats from the cloud benchmark runs.

invokebenchmark's People

Contributors

evilguest avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.