关于 BenchmarkDotNet
using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Order;
using System.Reflection; namespace BenchmarkAndSpanExample
{
public class UserQc
{
public string NameLike { get; set; }
} [ClrJob(baseline: true), CoreJob]
[RPlotExporter, RankColumn]
public class PropertyDynamicParserBenchmarks
{
private UserQc _userQc;
private static readonly PropertyInfo _nameLikeProp =
typeof(UserQc).GetProperty("NameLike", BindingFlags.Instance | BindingFlags.Public); [GlobalSetup]
public void Setup()
{
_userQc = new UserQc { NameLike = "张三" };
} [Benchmark]
public object GetValueWithReflect() => _nameLikeProp.GetValue(_userQc); [Benchmark]
public object GetValueWithEmit() => _userQc.NameLike;
}
}
public class Program
{
public static void Main(string[] args)
{
var summary = BenchmarkRunner.Run<PropertyDynamicParserBenchmarks>();
}
}
谢谢浏览!
关于 BenchmarkDotNet的更多相关文章
- .NET Core性能测试组件BenchmarkDotNet 支持.NET Framework Mono
.NET Core 超强性能测试组件BenchmarkDotNet 支持Full .NET Framework, .NET Core (RTM), Mono. BenchmarkDotNet支持 C# ...
- 不要手动StopWatch了,让BenchmarkDotNet帮你
Nuget: https://www.nuget.org/packages/BenchmarkDotNet/ Project Site: https://github.com/PerfDotNet/B ...
- 用BenchmarkDotNet给C#程序做性能测试
博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:用BenchmarkDotNet给C#程序做性能测试.
- BenchmarkDotNet
.NET Core性能测试组件BenchmarkDotNet 支持.NET Framework Mono .NET Core 超强性能测试组件BenchmarkDotNet 支持Full .NET F ...
- 使用 BenchmarkDotnet 测试代码性能
先来点题外话,清明节前把工作辞了(去 tm 的垃圾团队,各种拉帮结派.勾心斗角).这次找工作就得慢慢找了,不能急了,希望能找到个好团队,好岗位吧.顺便这段时间也算是比较闲,也能学习一下和填掉手上的坑. ...
- .NET Core中的性能测试工具BenchmarkDotnet
背景介绍 之前一篇博客中,我们讲解.NET Core中的CSV解析库,在文章的最后,作者使用了性能基准测试工具BenchmarkDotNet测试了2个不同CSV解析库的性能,本篇我们来详细介绍一下Be ...
- 性能测试工具BenchmarkDotnet
.NET Core中的性能测试工具BenchmarkDotnet https://www.cnblogs.com/lwqlun/p/9671611.html 背景介绍 之前一篇博客中,我们讲解.NET ...
- 利用BenchmarkDotNet 测试 .Net Core API 同步和异步方法性能
事由: 这两天mentor给我布置了个任务让我用BenchmarkDotNet工具去测试一下同一个API 用同步和异步方法写性能上有什么差别. 顺带提一下: 啊啊啊啊 等我仔细看文档的时候文档 发现它 ...
- 使用 BenchmarkDotnet 测试代码性能 【Win10】单元测试中捕获异步方法的指定异常
先来点题外话,清明节前把工作辞了(去 tm 的垃圾团队,各种拉帮结派.勾心斗角).这次找工作就得慢慢找了,不能急了,希望能找到个好团队,好岗位吧.顺便这段时间也算是比较闲,也能学习一下和填掉手上的坑. ...
随机推荐
- 【LOJ#573】【LNR#2】单枪匹马(线段树)
[LOJ#573][LNR#2]单枪匹马(线段树) 题面 LOJ 题解 考虑拿线段树维护这个值,现在的问题就是左右怎么合并,那么就假设最右侧进来的那个分数是\(\frac{x}{y}\)的形式,那么就 ...
- sql server 随记 -- 月份/日期 查询
月份 SELECT * FROM ( ] ) a UNPIVOT ( xxx ]) ) a2; 日期 SELECT * FROM ( ] )a UNPIVOT( xxx ]) )a2 (存档)
- 科技风商务项目管理PPT模板
模板来源:http://ppt.dede58.com/peixunyanjiang/26267.html
- C++ 赋值运算符'='的重载(浅拷贝、深拷贝)
01 赋值运算符重载的需求 有时候希望赋值运算符两边的类型可以不匹配,比如:把一个 int 类型变量赋值给一个Complex(复数)对象,或把一个 char* 类型的字符串赋值给一个字符串对象,此时就 ...
- AppBoxFuture(八): 另类的ORM实现
通常的ORM实现基于配置或注释,由反射或Emit生成相应的Sql语句,然后将Sql发送给数据库解析Sql字符串生成AST再交给优化器处理后执行,返回的数据再经由反射或Emit转换为相应的实体实例. ...
- Java基础--注解、反射
一.注解(Annotation) 1.什么是注解? 从JDK5开始,Java增加了Annotation(注解),Annotation是代码里的特殊标记,这些标记可以在编译.类加载.运行时被读取,并执行 ...
- [b0037] python 归纳 (二二)_多进程数据共享和同步_管道Pipe
# -*- coding: utf-8 -*- """ 多进程数据共享 管道Pipe 逻辑: 2个进程,各自发送数据到管道,对方从管道中取到数据 总结: 1.只适合两个进 ...
- Vue.js+cube-ui(Scroll组件)实现类似头条效果的横向滚动导航条
本博主在一次个人移动端项目中,遇到这么一个需求:希望自己的项目中,头部导航条的效果可以像今日头条那样,横向滚动! 对于这样的效果,在各大移动端项目中几乎是随处可见,为什么呢? 我们都知道,对于移动端也 ...
- 卷积层输出feature maps尺寸的计算
默认feature maps的宽和高相等. 常规卷积 输入的feature maps尺寸为i,卷积核的尺寸为k,stride为s,padding为p,则输出的feature maps的尺寸o为 当pa ...
- MATLAB常见的学习率下降策略
MATLAB常见的学习率下降策略 凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 1. 几种常见的学习率下降策略(learning rate decay st ...