我正在使用 Altova Mapforce 从 XSLT 2.0 生成输出。我想知道执行程序需要多少时间。
我打算将此执行时间与 C++ 执行相同工作所花费的时间进行比较。我想知道这个特定任务的 C++ 或 XSLT 引擎哪个更快。
顺便说一句,在 XSLTProc 中,我找到了一个--timing
选项,它告诉我时间,但 XSLTProc 只接受 XSLT 1.0,所以我不能将它用于我的程序。
任何帮助将不胜感激。
我对mapForce一无所知,所以这将是一个相当笼统的答案......
如果您从命令行调用它,许多操作系统都提供了一个工具,该工具将在执行命令行之前和之后检查系统时间,并以合理的准确度报告差异。在 Linux 或 Unix 中,它被称为“时间”;我不知道其他地方有什么推荐。
如果您找不到或下载该工具,或者您通过 API 调用它,您可以编写自己的版本——检查系统的毫秒或纳秒时钟(这是一个标准库调用),调用你想要测试的东西(如果需要,运行一个 shell 从命令行调用它,否则直接调用它),再次获取系统时钟,减去两者并报告所用时间。
如果您的 XSLT 系统支持它,您可能希望分别对样式表编译和样式表执行计时,因为如果您希望重用该样式表,编译是一次性成本。