Re: Yelp Speedup



On Tue, 2005-12-13 at 20:21 +0000, Don Scorgie wrote:
> Hi list,
> 
> I was looking at speeding yelp up a bit for docbook parsing and
> discovered the bottleneck is related to gettext.xsl [1]
> 
> Yelp seems to be opening and reading its content 215 times for the user
> guide!
> 
> I looked through the stylesheets from gnome-doc-utils and noticed it is
> imported 4 times in different files:
> 1: html/db2html.xsl
> 2: common/db-label.xsl
> 3: common/db-title.xsl
> 4: common/db-xref.xsl
> 
> Removing the <xsl:import href="../../gettext/gettext.xsl"> commands from
> the files in common improves Yelps parsing ability by an order of
> magnitude
> (Stopwatch timings from clicking the Relevant document in the TOC):
> User guide
> Before: ~ 57s
> After: ~ 3s
> 
> Gnumeric
> Before: ~ 1m 2s
> After: ~ 4s
> 
> Zenity
> Before: ~3s
> After: < 1s
> 
> A little bit of an improvement there ;)  So, my question is this:
> Is it possible to remove these import statements and get this speed
> boost?  Do other packages depend on gnome-doc-utils that this will
> affect?

Just to provide some data, for the curious: I have a
script called timeall that processes all the docs under
/usr/share/gnome/help and gives me timings for each one.
I can then compare output to look for regressions, and
compare timings to make sure they're really faster.

I ran timeall with and without the patch.  The outputs
were exactly the same, which is good.  I've attached
a tab-seperated list of the timings.  The columns are
the document, the HEAD timing, the with-patch timing,
and the fraction of the HEAD timing decreased.  Any
positive value is good, and values close to 1 are
excellent.  Negative numbers are bad.  The file is
sorted by the last column, worst to best.

--
Shaun

gcalctool/fr27432863-.04374772147283995625
aisleriot/C25712504.02605989887203422792
user-guide/C58385557.04813292223364165810
gcalctool/zh_CN27022503.07364914877868245743
gcalctool/zh_HK27512505.08942202835332606324
gcalctool/de27742516.09300648882480173035
gcalctool/it29352662.09301533219761499148
gcalctool/zh_TW27472484.09574080815435020021
evolution-2.4/C27322410.11786237188872620790
file-roller/sv11821039.12098138747884940778
gcalctool/es28292456.13184870979144574054
file-roller/it12141051.13426688632619439868
file-roller/ko1165988.15193133047210300429
system-admin-guide/C19331624.15985514743921365752
gcalctool/sv30042488.17177097203728362183
file-roller/ja1193985.17435037720033528918
file-roller/fr12881051.18400621118012422360
control-center/C1061864.18567389255419415645
file-roller/es13551101.18745387453874538745
gcalctool/ko29892427.18802275008364001338
gnome-doc-xslt/C19191544.19541427826993225638
gcalctool/ja29322294.21759890859481582537
gnome-access-guide/C22711776.21796565389696169088
gcalctool/C33202580.22289156626506024096
gedit/sv1105853.22805429864253393665
file-roller/zh_HK1241957.22884770346494762288
gdm/es20071540.23268560039860488290
zenity/C790601.23924050632911392405
epiphany/ja15311164.23971260613977792292
dia/en1112842.24280575539568345323
epiphany/C15461167.24514877102199223803
epiphany/es15241135.25524934383202099737
gdm/C23471713.27013208351086493395
dia/C1121818.27029438001784121320
gedit/eu1102804.27041742286751361161
epiphany/fi16721185.29126794258373205741
planner/C1027725.29406037000973709834
file-roller/C1386975.29653679653679653679
gedit/ja1078757.29777365491651205936
gedit/fr1090762.30091743119266055045
file-roller/de1351943.30199851961509992598
gedit/ko1105761.31131221719457013574
gedit/de1107759.31436314363143631436
window-list/ko616422.31493506493506493506
gedit/zh_CN1111757.31863186318631863186
gnopernicus/C1432971.32192737430167597765
gedit/zh_TW1103744.32547597461468721668
gedit/es1127758.32741792369121561668
gedit/it1147764.33391455972101133391
gedit/zh_HK1119742.33690795352993744414
gedit/ro907598.34068357221609702315
gedit/C1204793.34136212624584717607
file-roller/zh_TW1402918.34522111269614835948
gthumb/C15881038.34634760705289672544
window-list/sv616402.34740259740259740259
zenity/sr745486.34765100671140939597
file-roller/zh_CN1458945.35185185185185185185
epiphany/uk17401120.35632183908045977011
window-list/de657419.36225266362252663622
file-roller/uk1470936.36326530612244897959
file-roller/ru764485.36518324607329842931
window-list/uk618392.36569579288025889967
rhythmbox/C1009639.36669970267591674925
totem/C817516.36842105263157894736
workspace-switcher/zh_CN620389.37258064516129032258
workspace-switcher/zh_TW608381.37335526315789473684
rhythmbox/ja972609.37345679012345679012
gnome-terminal/uk900556.38222222222222222222
window-list/ja629388.38314785373608903020
totem/es816501.38602941176470588235
totem/de807495.38661710037174721189
window-list/it698428.38681948424068767908
gconf-editor/C732443.39480874316939890710
blackjack/C840508.39523809523809523809
window-list/fr692412.40462427745664739884
gdm/zh_HK745441.40805369127516778523
workspace-switcher/ja606357.41089108910891089108
bug-buddy/C706415.41218130311614730878
workspace-switcher/C595346.41848739495798319327
window-list/es666386.42042042042042042042
sound-juicer/es763442.42070773263433813892
window-list/zh_TW616356.42207792207792207792
epiphany/eu1217703.42235004108463434675
sound-juicer/C753434.42363877822045152722
window-list/zh_CN616355.42370129870129870129
gnome-terminal/ko752433.42420212765957446808
workspace-switcher/ko618355.42556634304207119741
workspace-switcher/sv621356.42673107890499194847
gnomemeeting/C739423.42760487144790257104
gnome-terminal/ja778442.43187660668380462724
bug-buddy/pa721409.43273231622746185852
gnome-terminal/zh_CN759430.43346508563899868247
workspace-switcher/es612346.43464052287581699346
eog/es688385.44040697674418604651
gnome-terminal/ro786439.44147582697201017811
gnome-terminal/zh_TW754421.44164456233421750663
gataxx/C684381.44298245614035087719
workspace-switcher/nl620344.44516129032258064516
gnome-search-tool/uk728402.44780219780219780219
totem/ru797439.44918444165621079046
eog/ko745410.44966442953020134228
gok/C1308719.45030581039755351681
eog/uk815448.45030674846625766871
command-line/C730400.45205479452054794520
char-palette/nl666364.45345345345345345345
glines/C713388.45582047685834502103
eog/C769418.45643693107932379713
gnome-search-tool/C736400.45652173913043478260
gweather/es738400.45799457994579945799
eog/it810439.45802469135802469135
gnome-terminal/sv809436.46106304079110012360
workspace-switcher/it611329.46153846153846153846
gucharmap/sv721388.46185852981969486823
evince/C753404.46347941567065073041
gdm/sv652349.46472392638036809815
fish-applet-2/zh_TW611327.46481178396072013093
modemlights/eu729390.46502057613168724279
gnomemeeting/fr765409.46535947712418300653
multiload/C733391.46657571623465211459
eog/de685365.46715328467153284671
gnome-terminal/it800424.47000000000000000000
gnome-terminal/fr820433.47195121951219512195
gnome-stones/C745392.47382550335570469798
gweather/C765401.47581699346405228758
iagno/C746391.47587131367292225201
workspace-switcher/uk609318.47783251231527093596
gucharmap/es742387.47843665768194070080
gucharmap/ko736382.48097826086956521739
gnomine/C752390.48138297872340425531
eog/ja700363.48142857142857142857
gnome-cd/fr685354.48321167883211678832
gucharmap/de749386.48464619492656875834
gnometris/C781402.48527528809218950064
accessx-status/C539277.48608534322820037105
gucharmap/zh_CN758389.48680738786279683377
mahjongg/C696357.48706896551724137931
gnome-terminal/C1071549.48739495798319327731
workspace-switcher/fr607311.48764415156507413509
gucharmap/zh_TW715365.48951048951048951048
fdl/eu788401.49111675126903553299
gucharmap/ja718364.49303621169916434540
eog/fr756383.49338624338624338624
workspace-switcher/de617312.49432739059967585089
char-palette/C689347.49637155297532656023
grecord/it713359.49649368863955119214
gnome-cd/nl711354.50210970464135021097
gdm/fr663327.50678733031674208144
fish-applet-2/uk657321.51141552511415525114
gnopernicus/es813393.51660516605166051660
battstat/C673325.51708766716196136701
cpufreq-applet/C665321.51729323308270676691
gnome-terminal/es1087523.51885924563017479300
gnome-search-tool/es732352.51912568306010928961
fdl/C812390.51970443349753694581
fish-applet-2/ko631303.51980982567353407290
gucharmap/it804384.52238805970149253731
eog/eu777370.52380952380952380952
gdm/zh_TW795376.52704402515723270440
bug-buddy/sr825390.52727272727272727272
lgpl/eu780368.52820512820512820512
eog/zh_TW765360.52941176470588235294
gnome-terminal/de929426.54144241119483315392
gucharmap/fr847386.54427390791027154663
gdm/de668302.54790419161676646706
eog/sv730328.55068493150684931506
grecord/zh_TW712318.55337078651685393258
gnome-system-monitor/C1627726.55377996312231100184
dasher/C658291.55775075987841945288
eog/zh_CN852373.56220657276995305164
fish-applet-2/sv698303.56590257879656160458
gfloppy/uk654278.57492354740061162079
gnobots2/C709298.57968970380818053596
clock/fr634266.58044164037854889589
gfloppy/C621258.58454106280193236714
fish-applet-2/fr635261.58897637795275590551
clock/it597242.59463986599664991624
gnome-search-tool/sv683276.59590043923865300146
gnome-doc-make/C592238.59797297297297297297
fish-applet-2/it665267.59849624060150375939
trashapplet/C601241.59900166389351081530
gnome-system-log/de811324.60049321824907521578
gnome-search-tool/ko681271.60205580029368575624
gnome-cd/ko684272.60233918128654970760
gnome-search-tool/zh_TW685272.60291970802919708029
gfloppy/ja651258.60368663594470046082
fish-applet-2/zh_CN803318.60398505603985056039
gnome-cd/C692274.60404624277456647398
gnome-cd/it685271.60437956204379562043
gnome-search-tool/it680268.60588235294117647058
gnome-cd/sv695273.60719424460431654676
gnibbles/C702275.60826210826210826210
gnobots2/da687269.60844250363901018922
stickynotes_applet/C695272.60863309352517985611
gnome-search-tool/zh_CN694271.60951008645533141210
gucharmap/C708276.61016949152542372881
gnome-search-tool/zh_HK678264.61061946902654867256
gnome-cd/de705273.61276595744680851063
gnome-cd/ja705273.61276595744680851063
grecord/es705272.61418439716312056737
gnome-search-tool/ja681262.61527165932452276064
fish/es632243.61550632911392405063
gnome-cd/es706271.61614730878186968838
same-gnome/C615236.61626016260162601626
modemlights/C696267.61637931034482758620
grecord/ja710272.61690140845070422535
fish-applet-2/ja671257.61698956780923994038
grecord/fr718273.61977715877437325905
gnect/C703266.62162162162162162162
gnome-dictionary/uk696263.62212643678160919540
gnome-netstatus/es680255.62500000000000000000
window-list/C730272.62739726027397260273
grecord/de741275.62887989203778677462
clock/sr613227.62969004893964110929
grecord/sv741274.63022941970310391363
gdm/zh_CN722266.63157894736842105263
gdm/it698257.63180515759312320916
gnome-system-log/sv862317.63225058004640371229
grecord/zh_CN730268.63287671232876712328
gnome-search-tool/fr725266.63310344827586206896
drivemount/C630231.63333333333333333333
imswitcher/C634232.63406940063091482649
gnotski/C723264.63485477178423236514
gnome-netstatus/C657239.63622526636225266362
gtali/C712259.63623595505617977528
gnome-netstatus/it649236.63636363636363636363
gnome-netstatus/zh_CN647234.63833075734157650695
gnobots2/it651235.63901689708141321044
clock/es627225.64114832535885167464
gdm/ko742266.64150943396226415094
gnotravex/C670240.64179104477611940298
grecord/ko766273.64360313315926892950
gnome-netstatus/ja657233.64535768645357686453
gnome-system-log/it1010358.64554455445544554455
gnome-dictionary/C756267.64682539682539682539
gnome-cd/zh_TW759268.64690382081686429512
clock/pa653230.64777947932618683001
brlmonitor/C565199.64778761061946902654
gnome-dictionary/ja759267.64822134387351778656
clock/zh_TW586206.64846416382252559726
gnome-netstatus/ko666234.64864864864864864864
gnome-netstatus/zh_HK666234.64864864864864864864
gnobots2/es664233.64909638554216867469
gnome-netstatus/zh_TW668234.64970059880239520958
gnome-system-log/fr892312.65022421524663677130
clock/ko593206.65261382799325463743
fdl/es783272.65261813537675606641
gtik2_applet2/C689239.65312046444121915820
gnome-system-log/C752260.65425531914893617021
clock/C660228.65454545454545454545
gnome-netstatus/fr680233.65735294117647058823
clock/zh_CN596204.65771812080536912751
fish-applet-2/de626214.65814696485623003194
gnome-feedback/eu563192.65896980461811722912
gnome-cd/zh_CN800272.66000000000000000000
gpl/eu700238.66000000000000000000
clock/ja592199.66385135135135135135
clock/uk613206.66394779771615008156
mixer_applet2/C605203.66446280991735537190
gnome-pilot/C627208.66826156299840510366
clock/de604199.67052980132450331125
gnome-system-log/zh_CN976320.67213114754098360655
brlmonitor/es601197.67221297836938435940
accessx-status/es608198.67434210526315789473
clock/sv616198.67857142857142857142
gdm/ja818262.67970660146699266503
fish/C645205.68217054263565891472
gnome-volume-control/C763242.68283093053735255570
gnome-netstatus/de670212.68358208955223880597
gswitchit/C632199.68512658227848101265
gfloppy/nl664207.68825301204819277108
gnome-keyring-manager/C585182.68888888888888888888
gnome-system-log/uk794247.68891687657430730478
lgpl/C656203.69054878048780487804
geyes/C637196.69230769230769230769
gnome-system-log/ja905277.69392265193370165745
gnome-feedback/C641193.69890795631825273010
gnome-sound-recorder/C686203.70408163265306122448
gpl/fi666194.70870870870870870870
gnome-system-log/ko988284.71255060728744939271
gstreamer-properties/C690197.71449275362318840579
gnome-netstatus/sv669191.71449925261584454409
gpl/pa673192.71471025260029717682
clock/nl666183.72522522522522522522
gtali/da697190.72740315638450502152
gpl/C746193.74128686327077747989
gnome-system-log/zh_TW1006236.76540755467196819085
gnome-system-log/es1306248.81010719754977029096


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]