Измерить время выполнения программы XSLT 2.0 в mapForce
Я использую Altova Mapforce для генерации вывода из XSLT 2.0. Я хочу знать, сколько времени ушло на выполнение программы.
Я намерен сравнить это время выполнения со временем, затрачиваемым C++ для выполнения той же работы. Я хочу знать, какой из них быстрее, C++ или XSLT Engine для этой конкретной задачи.
Кстати, в XSLTProc я нашел --timing
опция, которая сообщает мне время, но XSLTProc принимает только XSLT 1.0, поэтому я не могу использовать его для своей программы.
Любая помощь будет оценена.
1 ответ
Я ничего не знаю о mapForce, так что это будет довольно общий ответ...
Если вы вызываете это из командной строки, многие операционные системы предоставляют инструмент, который проверяет системное время до и после выполнения командной строки и сообщает о разнице с некоторой разумной степенью точности. В Linux или Unix это называется "время"; Я не знаю, что рекомендуется в другом месте.
Если вы не можете найти или загрузить этот инструмент, или если вы вызываете его через API, вы можете написать свою собственную версию - проверить часы системы в миллисекундах или наносекундах (что является вызовом стандартной библиотеки), вызвать вещь, которую вы хотите протестировать (при необходимости, запустить оболочку, чтобы вызвать ее из командной строки, в противном случае вызвать ее напрямую), снова получить системные часы, вычесть два и вывести отчет о времени.
Если ваша система XSLT поддерживает ее, вы можете захотеть синхронизировать компиляцию таблиц стилей и выполнение таблиц стилей по отдельности, поскольку компиляция является единовременной, если вы планируете использовать эту таблицу стилей повторно.