微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

NSubstitute 在基准测试中分配内存

如何解决NSubstitute 在基准测试中分配内存

我正在使用 https://graph.microsoft.com/v1.0/users?$filter=mail ne null&&$expand=manager($levels=1;$select=id)&$count=true 来模拟我的数据库调用以进行基准测试。 对于我的基准测试,我使用 NSubstitute。尽管在我的替代方法中没有分配内存,但我正在获得内存分配。 我需要知道是什么导致了这种内存分配,并根据计算出的字节数。

BenchmarkDotNet

在我的 TeamManager 中:

    [SimpleJob(RunStrategy.Monitoring,targetCount: 100)]
    [MemoryDiagnoser]
    [Orderer(SummaryOrderPolicy.FastestToslowest)]
    public class PlayerHistory
    {  
        private static ILocalCache _localCache = Substitute.For<ILocalCache>();

        [GlobalSetup]
        public async Task Setup()
        {
            LocalCache.Instance.SetInstance(_localCache);
            Mock(); 
        }

      
        private void Mock()
        {
            LocalCacheController.Instance.GetRealLeagueGroupId("").ReturnsForAnyArgs(BenchmarkConstants.RealLeagueId);
        }

        [Benchmark]
        public async Task GetUsersInfoByUsers()
        {
            await TeamManager.Instance.GetPlayerHistory(BenchmarkConstants.RealLeagueId);
        }
    }

这是我的基准测试结果:

    public async Task<string> GetPlayerHistory(string realLeagueId)
    {
        return LocalCacheController.Instance.GetRealLeagueGroupId(realLeagueId);      
    }

你能告诉我为什么虽然我正在替换该方法但仍然分配了内存以及为什么它是如何计算的?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。