Ecs.CSharp.Benchmark 项目教程

Ecs.CSharp.Benchmark 项目教程

Ecs.CSharp.Benchmark Benchmarks of some C# ECS frameworks. 项目地址: https://gitcode.com/gh_mirrors/ec/Ecs.CSharp.Benchmark

1. 项目的目录结构及介绍

Ecs.CSharp.Benchmark/
├── BenchmarkDotNet.Artifacts/
├── Ecs.CSharp.Benchmark/
│   ├── Benchmark.cs
│   ├── BenchmarkConfig.cs
│   ├── BenchmarkRunner.cs
│   ├── Entities/
│   │   ├── ComponentA.cs
│   │   ├── ComponentB.cs
│   │   ├── ComponentC.cs
│   │   ├── EntityA.cs
│   │   ├── EntityB.cs
│   │   └── EntityC.cs
│   ├── Systems/
│   │   ├── SystemA.cs
│   │   ├── SystemB.cs
│   │   └── SystemC.cs
│   ├── Program.cs
│   └── Ecs.CSharp.Benchmark.csproj
├── Ecs.CSharp.Benchmark.sln
└── README.md
  • BenchmarkDotNet.Artifacts/: 存放 BenchmarkDotNet 生成的性能测试结果文件。
  • Ecs.CSharp.Benchmark/: 项目的主要代码目录。
    • Benchmark.cs: 定义了性能测试的基准类。
    • BenchmarkConfig.cs: 配置 BenchmarkDotNet 的运行参数。
    • BenchmarkRunner.cs: 运行性能测试的入口文件。
    • Entities/: 存放实体和组件的定义。
      • ComponentA.cs, ComponentB.cs, ComponentC.cs: 定义了不同的组件。
      • EntityA.cs, EntityB.cs, EntityC.cs: 定义了不同的实体。
    • Systems/: 存放系统的定义。
      • SystemA.cs, SystemB.cs, SystemC.cs: 定义了不同的系统。
    • Program.cs: 项目的启动文件。
    • Ecs.CSharp.Benchmark.csproj: 项目的 MSBuild 文件。
  • Ecs.CSharp.Benchmark.sln: 项目的解决方案文件。
  • README.md: 项目的说明文档。

2. 项目的启动文件介绍

项目的启动文件是 Program.cs。该文件包含了项目的入口点,负责初始化和运行性能测试。

using BenchmarkDotNet.Running;

namespace Ecs.CSharp.Benchmark
{
    class Program
    {
        static void Main(string[] args)
        {
            BenchmarkRunner.Run<Benchmark>();
        }
    }
}
  • BenchmarkRunner.Run () : 该方法用于启动性能测试,Benchmark 是定义在 Benchmark.cs 中的基准类。

3. 项目的配置文件介绍

项目的配置文件是 BenchmarkConfig.cs,该文件用于配置 BenchmarkDotNet 的运行参数。

using BenchmarkDotNet.Configs;
using BenchmarkDotNet.Jobs;
using BenchmarkDotNet.Toolchains.InProcess.Emit;

namespace Ecs.CSharp.Benchmark
{
    public class BenchmarkConfig : ManualConfig
    {
        public BenchmarkConfig()
        {
            AddJob(Job.MediumRun
                .WithLaunchCount(1)
                .WithToolchain(InProcessEmitToolchain.Instance));
        }
    }
}
  • AddJob(Job.MediumRun.WithLaunchCount(1).WithToolchain(InProcessEmitToolchain.Instance)): 配置 BenchmarkDotNet 的运行模式,这里使用的是中等运行时间模式,并且只运行一次。InProcessEmitToolchain.Instance 表示使用进程内工具链。

Ecs.CSharp.Benchmark Benchmarks of some C# ECS frameworks. 项目地址: https://gitcode.com/gh_mirrors/ec/Ecs.CSharp.Benchmark

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

林泽炯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值