VersaTrans RP是一种校车规划和路由解决方案,旨在帮助学区有效地管理其校车调度需求。当前版本基于为K-12市场提供调度解决方案20年的经验。
VersaTrans在最新升级期间完全重写了其旗舰应用程序。在开发过程中,他们注意到性能问题,并决定需要一个好的性能分析工具,因此他们向AQtime寻求帮助。

重新设计旗舰应用
“当我们从版本8升级到版本9时,我们完全改写了我们公司的旗舰应用程序VersaTrans RP。我们从使用包含平面数据中许多数据元素的基于文件的数据库到以Microsoft SQL Server为后端设计的客户端服务器应用程序数据存储”,VersaTrans的Chris Miller说。
“当从用于平面文件存储的设计转移到客户端/服务器时,我们用来操纵数据的许多过程必须从头开始重写。在开发过程的中途,我们开始注意到一些性能问题,这些问题会导致新版本难以使用。”
批次分配缓慢
Chris说,他们在一个特定的操作中存在性能问题:批处理分配功能。“为了大大简化我们的批处理工作,它允许用户选择学生并生成所有运输请求(哪个公交车站,哪个学校),并将每个请求分配给校车路线。在引擎盖下,对于中型学区,在15000名学生的批处理作业中,大约需要10到12个小时才能在奔腾4盒上运行,而在中型学区中,则需要进行大量计算。同样的操作将花费一个小时的时间。执行时间增加了10倍,因此新版本就无法启动了。我们必须解决此问题。”
VersaTrans需要一个探查器工具
“我们知道我们必须重构一些代码;但是问题是“我们从哪里开始。我们需要测量批处理分配所使用的各种函数执行需要多长时间以及它们被调用的频率。那时我们才知道我们需要一个分析器工具,我们需要一个好的工具。”Chris说。
搜索正确的工具
Chris说,一旦确定需要使用探查器工具,便会检查Borland的新闻组。“我从SmartBear那里读到了许多有关AQtime的好东西。我下载了试用版,但对功能的范围和广度感到震惊。这是我们必须获得的探查器工具。”
使用AQtime
“我们以两种模式使用AQtime。首先,我们在新的或更新的代码上使用它,以确保我们没有引入任何性能瓶颈。这很简单,我们运行代码并检查执行时间和百分比,”Chris说。
“当我们拥有需要更有效运行的模块或功能时,我们也会使用它。我们对代码进行了初始传递以查找瓶颈,并根据这些信息来决定是否需要优化现有代码或是否需要重新思考我们的工作方式。”
“无论哪种情况,我们都使用AQtime来深入研究我们正在使用的特定功能,以查看需要集中精力的地方。它看到了您需要优化的地方和您不需要接触的地方。AQtime在此方面具有无价的价值。什么样的工作!”
AQtime产生结果
Chris说,AQtime允许他们确定需要解决性能问题的地方。“基于AQtime提供的分析,我们能够对优化工作进行优先排序。例如,我们能够执行耗时10个小时以上的批处理分配过程,并在15分钟内完成。使用AQtime的结果是对于完成优化具有重要意义。”
“如果您在进行任何涉及性能时间问题的编码工作,那么AQtime是您最好的朋友。将执行时间描述为单独的代码行的能力非常宝贵。它使您能够确定需要优化和优化哪些模块或功能,哪些不”
——来自VersaTrans的Chris Miller
节省时间并实现更多功能
Chris说:“AQtime节省了我们太多的时间,它消除了优化过程中的猜测。我们可以在进行性能调整时衡量性能变化。使用AQtime节省的时间用于实现更多功能。”
Chris说,AQtime提供的灵活性可以节省大量时间。“配置代码的方式的灵活性可以节省大量时间。我们不必对每一行代码进行配置;我们可以通过模块或功能来进行配置。我们只需要查看需要查看的内容即可。”
标签:
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!