跟踪 vb.net 中函数调用的持续时间

2024-04-08

在我们的 VB6 应用程序中,我们添加了一些实用函数来跟踪函数所花费的时间。我们这样做是为了跟踪性能瓶颈。

基本上,它的工作原理是有两个实用函数:StartTickCount() 和 EndTickCount()。您将在每个函数中传递函数名称,函数将使用字典在调用 StartTickCount() 时获取滴答计数,然后在调用 EndTickCount() 时减去滴答计数。这并不完美,因为它当然没有考虑到调用获取滴答计数需要时间等,但基本上它符合我们的目的。屁股部分的痛苦在于确保在每个函数的开头调用 StartTickCount() 并在每个退出点调用 EndTickCount():

Private Function SomeFuction() as String
    ' indicate the function started
    StartTickCount("MyClass.SomeFunction")


    ' some logic that causes the function to end
    If (some logic) Then
        EndTickCount("MyClass.SomeFunction")
        Return "Hello!"
    End If

    ' final exit point
    EndTickCount("MyClass.SomeFunction")
    Return "World"
End Function

无论如何,是否有任何内置功能,无论是通过 VS 2010 调试器还是在System.Reflection命名空间,在 VB.NET 中做类似的事情?

基本上,我想要的是记录每个函数被调用的次数、该函数花费的总时间、该函数花费的平均秒数以及该函数中单次调用花费的最大时间。功能。

我当然可以手工编写(因为我们已经在 VB6 中编写过一次),但如果有现有的工具可以使其更容易,我宁愿使用它们。


您可以通过根据需要修改/调整以下代码来获得相同的结果:

  'Create a variable for start time:
  Dim TimerStart As DateTime
  TimerStart = Now
 '
 'place your computing here
 '
  Dim TimeSpent As System.TimeSpan
  TimeSpent = Now.Subtract(TimerStart)
  MsgBox(TimeSpent.TotalSeconds & " seconds spent on this task")

您可以查看有关 TimeSpan 的文档,以直接获取以毫秒为单位或其他格式的时间。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

跟踪 vb.net 中函数调用的持续时间 的相关文章

  • 从脚本内更改自动热键托盘图标

    如何从 Autohotkey 脚本中将托盘图标更改为 my ico 例如 当脚本暂停时 为此 我在托盘菜单中提出了自己的 暂停脚本 菜单项 SingleInstance ignore Menu Tray Tip AutoCase 0 11
  • IE9-11 检测变换样式:preserve-3d

    我为一个项目制作了一个 3d 类型的菜单 自然 IE 会引起问题 因为 IE10 即使 3d 变换工作 也不支持变换样式 preserve 3d 我尝试了解决方法 通过对 3d 菜单容器的每个子元素应用变换 但至少可以说 动画看起来很糟糕
  • 文本溢出:省略号显示不同的字符

    我这里遇到了一些 CSS 问题 看这张图片 https www flickr com photos 125543025 N07 saved 1 在此图像中 我为文本 INTENSE TRAINING 添加了 CSS 样式 sample st
  • 我们什么时候应该在 Django 中使用“db_index=True”?

    当我们应该定义db index True在模型字段上 我正在尝试优化应用程序并且我想了解更多信息db index 什么情况下我们应该使用它 文档说使用db index True在模型字段上用于加速查找 但在存储和内存方面略有缺点 我们应该使
  • 如何制作过期/签名视频嵌入网址

    我是新来的 正在学习网络开发等等 我只知道如何将我的视频嵌入网站中 任何菜鸟都可以轻松获得源代码 他们也可以嵌入它 但在许多网站中 视频 src 均使用重定向器链接进行编码 例如 它会在一段时间后过期 在本例中是一天 我了解到这是一个签名网
  • Qt 布局,在小部件大小更改后调整到最小大小

    基本上我有一个QGridLayout里面有一些小部件 最重要的是 2 个标签 我用它们将图像绘制到屏幕上 好吧 如果用户愿意 他可以更改传入图像的分辨率 从而强制标签调整大小 我们假设标签的初始大小是320x240 用户将 VideoMod
  • Python 中的字符串slugification

    我正在寻找 slugify 字符串的最佳方法 蛞蝓 是什么 https stackoverflow com questions 427102 in django what is a slug 我当前的解决方案基于这个食谱 http code
  • bash:gitolite:找不到命令

    我正在尝试使用 Gitolite 在 Gitlab 中创建一个新分支 我完成安装步骤 当我遇到 设置 gitolite 部分时 我遇到了麻烦 我跟着这个link http sitaramc github com gitolite setup
  • xsi:type 属性搞乱了 C# XML 反序列化

    我使用 XSD exe 根据 XML 架构 xsd 文件 自动生成 C 对象 我正在反序列化 OpenCover 输出 但其中一个部分类未正确生成 这是导致异常的行
  • 一些基本的 PHP 问题 [已关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我只是有一些基本的 php 问题来加深我对学习的理解 但我找不到简单的答案 我有一个 php ajax 应用程序 它生成 mysql
  • View.post(),以及当Runnables被执行时

    我最初的问题是需要知道我的根的高度和宽度View这样我就可以进行程序化的布局更改 就我的目的而言 我不一定需要在onCreate 对于我来说 以编程方式添加我的孩子就足够了View根布局完成后 因此我很乐意使用onWindowFocusCh
  • Azure Functions 计时器触发器线程安全

    我想知道是否有人知道如果您在 Azure 函数上设置了 Cron 设置 如果其任务执行时间超过 5 分钟 则每 5 分钟运行一次 会发生什么情况 它备份吗 或者我应该实现一个锁定功能 以防止某些东西 例如在循环中 处理先前调用已经处理的数据
  • SimpleIoC - 在缓存中找不到类型:Windows.UI.Xaml.Controls.Frame

    第一次由 SimpleIoC 实例化我的 ViewModel 时 我遇到了以下错误 我相信我已经按应有的方式设置了容器 但由于某种原因 我仍然收到以下错误 任何想法或帮助将非常感激 Microsoft Practices ServiceLo
  • R闪亮:使用闪亮的JS从数据表中获取信息

    我想读出所有列名称以及它们在数据表中显示的顺序 由于不同的原因 我无法使用 stateSave 等选项 我对 JS 没有什么把握 但我确信用它可以完成 所以我需要你帮助我 我尝试过类似的代码片段 datatable data callbac
  • React 错误:目标容器不是 DOM 元素

    我刚刚开始使用 React 所以这可能是一个非常简单的错误 但我们开始吧 我的html代码非常简单 load staticfiles
  • PLS-00103:遇到符号“;”当预期出现以下情况之一时:

    我正在尝试插入用户安全问题的答案 以用于密码重置功能 Ellucian 横幅 v8 提供了一个用于运行此 API 的 API 我对他们的 API 非常陌生 从下面的错误消息来看 我还远远没有正确运行它 任何帮助表示赞赏 我尝试在 Oracl
  • Keystore getEntry 在 Android 9 上返回 NULL

    c我已对存储在 Android 密钥库中的登录密码进行了加密和解密 在 Android 9 上 我观察到应用程序在尝试解密密码时崩溃 我无法重现它 但拥有 Pixel 3 的用户是崩溃的设备之一 下面是我如何从密钥库解密密码 private
  • 计算包含字母/数字的行数

    我想要实现的目标很简单 但是解释起来有点困难 我不知道在 postgres 中这是否真的可能 我处于相当基础的水平 SELECT FROM WHERE LEFT JOIN ON HAVING 等等基本的东西 我正在尝试计算包含特定字母 数字
  • Java 和/C++ 在多线程方面的差异

    我读过一些提示 多线程实现很大程度上取决于您正在使用的目标操作系统 操作系统最终提供了多线程能力 比如Linux有POSIX标准实现 而windows32有另一种方式 但我想知道编程语言水平的主要不同 C似乎为同步提供了更多选择 例如互斥锁
  • 如何使用 dql 从数据表中获取唯一值?

    我有一个表 其中有一列存储了各种值 我想使用 dql 从该表中检索唯一值 Doctrine Query create gt select rec school gt from Records rec gt where rec city ci

随机推荐

  • Kendo Angular 2 网格过滤器不可用

    我正在使用带有 Angular 2 的 Kendo Gridhttp www telerik com kendo angular ui components grid data binding http www telerik com ke
  • 将 AppMutex 与静默 Inno Setup 一起使用

    我在 Inno Setup 脚本中使用 AppMutex 来确保产品在安装更新时不再运行 这基本上工作得很好 但是 当使用 verysilent 命令参数运行此设置时 会显示一个对话框 尽管非常安静 表明程序仍在运行 应该关闭 由于程序本身
  • 如何设置EditText的边框颜色

    我用过这个
  • NodeJS https 服务器使用 Express 返回 ERR_SSL_PROTOCOL_ERROR

    我试图让 SSL https 在我的 Nodejs 服务器上工作 但浏览器返回 ERR SSL PROTOCOL ERROR code var express require express var https require https
  • JSON解析字符串文字中的双引号[重复]

    这个问题在这里已经有答案了 我在解析字符串文字中的引号时遇到问题 var lit foo test 1 bar test 2 在控制台中 这会给出错误 未捕获的异常 我期待 Object foo test 1 bar test 2 这是我的
  • 通过关联属于_to

    鉴于以下关联 我需要参考Question that a Choice是通过从Choice模型 我一直在尝试使用belongs to question through answer来执行此操作 class User has many ques
  • 在 Django 中出现无效图像错误,但 PIL 已安装并通过所有测试

    所以我终于在RHEL5上成功安装了PIL 经历了很多困难 Django 开发版本 和Python 2 6安装在 opt python2 6 运行 selftest py 显示一切似乎都已正确安装 python2 6 selftest py
  • 如何在 Nodejs 中实际运行 scalajs 代码?

    我正在开发一个后端聊天服务器 它目前是用混乱的回调 javascript 编写的 所以我正在考虑将其移植到 scalajs 我一直在浏览初学者指南 但我找不到如何将项目实际编译为可以使用节点运行的单个 JavaScript 文件 例如nod
  • pd.merge_asof() 基于时差不合并所有值 - Pandas

    我有两个数据框 一个包含新闻 另一个包含股票价格 两个数据框都有一个 日期 列 我想以 5 天的间隔合并它们 假设我的新闻数据帧是 df1 另一个价格数据帧是 df2 我的 df1 看起来像这样 News Dates News 2018 0
  • 将 tmux.conf 拆分为多个文件?

    我有一个在计算机之间共享的通用 tmux 设置文件 tmux conf common 我希望能够在我的 tmux conf 中获取此文件 在 bash 中实现此目的的一种方法是让每台计算机的 bashrc 获取公共文件 有没有办法在 tmu
  • unique_ptr自定义存储类型示例?

    霍华德 希南特 解释了 http home roadrunner com hinnant unique ptr03 html that unique ptr还可以使用自定义存储类型 他举了一个例子 共享内存 他只给出了粗略的想法 这对于快速
  • 使用 Eclipse 创建 java 可执行文件

    这完全是一个新手问题 我在 Ubuntu 上运行 Eclipse 我创建了一个测试项目 我想将其编译为可执行文件 Linux 相当于 Windows exe 文件 这是我的程序的内容 public class MyTest public s
  • 具有保序功能的哈希函数

    是否有任何带有uniq哈希码 如MD5 且保序的哈希函数 笔记 我不关心安全性 我需要它来排序 我有很多块 约1MB大小 我想对它们进行排序 当然我可以使用索引排序 但我想减少比较时间 理论上 如果我有 1 000 000 个 1MB 大小
  • Google 地图 7 从地理意图开始,将图钉放置在距离坐标最近的地址而不是确切位置

    在我的应用程序中 用户可以保存特定位置的纬度和经度 我希望他们能够通过以下方式在手机上启动其他应用程序地理意图 https datatracker ietf org doc html draft mayrhofer geo uri 00 s
  • AngularJS 多指令资源争用

    我正在尝试用角度构建指令 这里是plunker http plnkr co edit KbccCT p preview 我想把它分成 3 个指令 最高的祖父母指令 许多DAYS 中间 用 ng repeat 创建 一DAY 底部 使用 ng
  • 2013 年更新了 D 的 GUI 库?

    我正在用 D 开发一个游戏 到目前为止 我真的很欣赏 D 语言 并且对于大多数库都有很好的绑定 现在 对于编辑器 我正在寻找一个便携式 GUI 库 wxD 或 DWT 似乎是不错的选择 但它们似乎被放弃了 因为最新的更新是几年前的 论坛上也
  • 模板类成员函数的显式特化

    我有这个 template
  • 使用 ember-cli-mirage 测试错误响应

    我正在阅读 ember cli mirage 关于创建模拟响应的文档 但无法弄清楚如何测试完全相同的请求的错误响应 例如 test I can view the users function var users server createL
  • FirebaseUI Auth - Facebook 登录错误:来自 Facebook 的 debug_token 响应失败

    我正在尝试集成 FirebaseUI Auth 库 Google 登录和电子邮件登录工作正常 但我在设置 Facebook 登录时遇到问题 这是我的代码 user firebaseAuth getCurrentUser if user nu
  • 跟踪 vb.net 中函数调用的持续时间

    在我们的 VB6 应用程序中 我们添加了一些实用函数来跟踪函数所花费的时间 我们这样做是为了跟踪性能瓶颈 基本上 它的工作原理是有两个实用函数 StartTickCount 和 EndTickCount 您将在每个函数中传递函数名称 函数将