ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

c# – 有没有办法计算执行的IL指令的数量?

2019-06-07 12:06:02  阅读:195  来源: 互联网

标签:c net benchmarking cil


我想对C#进程进行基准测试,但我不想将时间用作向量 – 我想计算在特定方法调用中执行的IL指令的数量.这可能吗?

编辑我不是指方法体的静态分析 – 我指的是执行的实际指令数 – 例如,如果方法体包含一个循环,那么计数会因为许多指令而增加循环*迭代循环的次数.

解决方法:

我认为不可能做你想做的事.这是因为IL仅在JIT(即时)编译期间使用.当该方法运行时,IL已被转换为本机机器代码.因此,尽管可以静态地计算给定方法/类型/汇编中的IL指令的数量,但在运行时没有这个概念.

您没有表明您打算知道将要解释的IL指令的数量.鉴于方法体的IL计数与机器代码指令的实际数量之间只有松散的相关性,我无法看到知道这个数字会达到什么(除了满足你的好奇心).

标签:c,net,benchmarking,cil
来源: https://codeday.me/bug/20190607/1193460.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有