Yuan Yijun (bbbush) wrote,
Yuan Yijun
bbbush

profiling

xml: 374K
xsl: 71K

AltovaXML
不使用 xsl:key 的时候,需要查询 4k 次数据,耗时 45s+
使用 xsl:key 的时候
xslt2:
real 0m11.102s
user 0m0.015s
sys 0m0.030s

xslt1:
real 0m28.176s
user 0m0.015s
sys 0m0.015s

本来蛮高兴的,后来,改用 msxml4 和 xslt1,耗时 1s
@_@

再改用 Saxon8n,总使用 xsl:key
xslt2:
Execution time: 875 milliseconds
Memory used: 5284564
real 0m2.153s
user 0m0.031s
sys 0m0.000s

xslt1: 初次执行是 8s,多次执行后
Execution time: 1187 milliseconds
Memory used: 7030408
real 0m2.455s
user 0m0.015s
sys 0m0.015s

可惜 Saxon8n 使用 .net,安装文件包含 GNU Classpath,要 5M :(
Saxon8 的调试输出真的是非常好用,那么以后就用它来调试 xslt 吧。

那,我工作时做的东西真的是非常简单,就是把数据库导出的表格,转换成 fo 而已。
我们用不到 xslt2,也不在乎 0.3s 的性能提升(因为不一定比 msxml4 快)。


update:

果然如此,msxml4 实在是太快了。初次运行时,速度是 0.8s 的样子,此后都少于 0.4s
Command Line Transformation Utility (msxsl.exe)
real 0m0.394s
user 0m0.031s
sys 0m0.015s

有时间要拿去和传说中的 XT 比一比


update:
NXSLT2.exe 也就是 msxml6 不算是很快。
real 0m3.335s
user 0m0.015s
sys 0m0.015s


update:
XT 的结果,java 还是蛮快的!并且多次运行也是这个结果。
real 0m1.344s
user 0m0.015s
sys 0m0.031s

update:
saxon8j
xslt1
real 0m2.652s
user 0m0.031s
sys 0m0.016s
xslt2
real 0m2.551s
user 0m0.031s
sys 0m0.015s



time saxon8n/Transform.exe -novw -t -o %3 %1 %2
time AltovaXML2006/AltovaXML /xslt1 %2 /in %1 /out %3
time ./msxsl.exe -t -o %3 %1 %2
time ./nxslt2.exe -t -o %3 %1 %2
time java -cp lib/xp.jar\;lib/xt.jar com.jclark.xsl.sax.Driver %1 %2 %3
time java -cp lib/saxon8.jar net.sf.saxon.Transform -t -novw -o %3 %1 %2





xml: 1.68 M

msxml4: 第一次 2.56s 其后 1.7s
saxon8n: xslt2 第一次 13s 其后 5.8s, xslt1 9.7s
xt: 第一次 5s 其后 3.6s
AltovaXML: xslt2 第一次 12.7s 其后 9.2s 且每次报错,xslt1 6m9s 内存差点不够

Tags: 测试
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 0 comments