[pypy-commit] extradoc extradoc: start to explain tracing, and add a diagram
antocuni
noreply at buildbot.pypy.org
Sat Jun 30 15:21:40 CEST 2012
Author: Antonio Cuni <anto.cuni at gmail.com>
Branch: extradoc
Changeset: r4225:c63941891cfe
Date: 2012-06-30 12:13 +0200
http://bitbucket.org/pypy/extradoc/changeset/c63941891cfe/
Log: start to explain tracing, and add a diagram
diff --git a/talk/ep2012/jit/talk/Makefile b/talk/ep2012/jit/talk/Makefile
--- a/talk/ep2012/jit/talk/Makefile
+++ b/talk/ep2012/jit/talk/Makefile
@@ -4,7 +4,7 @@
# WARNING: to work, it needs this patch for docutils
# https://sourceforge.net/tracker/?func=detail&atid=422032&aid=1459707&group_id=38414
-talk.pdf: talk.rst author.latex title.latex stylesheet.latex
+talk.pdf: talk.rst author.latex title.latex stylesheet.latex diagrams/tracing-phases-p0.pdf
rst2beamer.py --stylesheet=stylesheet.latex --documentoptions=14pt talk.rst talk.latex || exit
sed 's/\\date{}/\\input{author.latex}/' -i talk.latex || exit
#sed 's/\\maketitle/\\input{title.latex}/' -i talk.latex || exit
@@ -15,3 +15,7 @@
xpdf: talk.pdf
xpdf talk.pdf &
+
+
+diagrams/tracing-phases-p0.pdf: diagrams/tracing-phases.svg
+ cd diagrams && inkscapeslide.py tracing-phases.svg
diff --git a/talk/ep2012/jit/talk/diagrams/tracing-phases.svg b/talk/ep2012/jit/talk/diagrams/tracing-phases.svg
new file mode 100644
--- /dev/null
+++ b/talk/ep2012/jit/talk/diagrams/tracing-phases.svg
@@ -0,0 +1,426 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.48.2 r9819"
+ width="397.1475"
+ height="228.3725"
+ xml:space="preserve"
+ sodipodi:docname="tracing_phases.svg"><metadata
+ id="metadata8"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs6" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1491"
+ inkscape:window-height="753"
+ id="namedview4"
+ showgrid="false"
+ inkscape:zoom="2"
+ inkscape:cx="65.562336"
+ inkscape:cy="181.16747"
+ inkscape:window-x="2050"
+ inkscape:window-y="68"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="layer11" /><g
+ inkscape:groupmode="layer"
+ id="layer11"
+ inkscape:label="content"><text
+ xml:space="preserve"
+ style="font-size:11px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+ x="-191.5"
+ y="-44.627502"
+ id="text5362"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan5364"
+ x="-191.5"
+ y="-44.627502">interp</tspan><tspan
+ sodipodi:role="line"
+ x="-191.5"
+ y="-19.627502"
+ id="tspan5366">+tracing</tspan><tspan
+ sodipodi:role="line"
+ x="-191.5"
+ y="5.3724976"
+ id="tspan5368">+compilation</tspan><tspan
+ sodipodi:role="line"
+ x="-191.5"
+ y="30.372498"
+ id="tspan5370">+running</tspan><tspan
+ sodipodi:role="line"
+ x="-191.5"
+ y="55.372498"
+ id="tspan5372">+cold_guard</tspan><tspan
+ sodipodi:role="line"
+ x="-191.5"
+ y="80.372498"
+ id="tspan5374">+compiled_loop</tspan><tspan
+ sodipodi:role="line"
+ x="-191.5"
+ y="105.3725"
+ id="tspan5376">+bridge</tspan><tspan
+ sodipodi:role="line"
+ x="-191.5"
+ y="130.3725"
+ id="tspan5378">+hot_guard</tspan></text>
+</g><g
+ id="g10"
+ inkscape:groupmode="layer"
+ inkscape:label="interp"
+ transform="matrix(1.25,0,0,-1.25,56.76125,122.78375)"
+ style="display:inline"><g
+ style="display:inline"
+ id="g18"><g
+ id="g20"><path
+ d="M 29.89998,0 C 29.89998,16.5135 16.5135,29.89998 0,29.89998 -16.5135,29.89998 -29.89998,16.5135 -29.89998,0 c 0,-16.5135 13.38648,-29.89998 29.89998,-29.89998 16.5135,0 29.89998,13.38648 29.89998,29.89998 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.59776002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none"
+ id="path22"
+ inkscape:connector-curvature="0" /></g><g
+ id="g24"
+ transform="translate(-25.879,-1.948)"><g
+ id="g26"><g
+ id="g28"
+ transform="translate(-19.53,-82.523)"><text
+ transform="matrix(1,0,0,-1,19.53,82.523)"
+ id="text30"><tspan
+ style="font-size:7.97009993px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:CMR8;-inkscape-font-specification:CMR8"
+ x="0 3.0493603 7.5229774 10.816223 14.579704 17.880123 22.584873 25.88529 29.648771 32.942017 37.176533 40.469776 42.821754 47.056267"
+ y="0"
+ sodipodi:role="line"
+ id="tspan32">Interpretation</tspan></text>
+<g
+ id="g34"
+ transform="translate(19.53,82.523)" /></g></g><g
+ id="g36"
+ transform="translate(25.879,1.948)" /></g></g></g><g
+ inkscape:groupmode="layer"
+ id="layer4"
+ inkscape:label="tracing"
+ style="display:inline"><g
+ transform="matrix(1.25,0,0,-1.25,56.76125,122.78375)"
+ style="display:inline"
+ id="g38"><g
+ id="g40"><path
+ d="m 95.35454,70.44759 c 0,13.7559 -11.15105,24.90695 -24.90695,24.90695 -13.75591,0 -24.90696,-11.15105 -24.90696,-24.90695 0,-13.75591 11.15105,-24.90696 24.90696,-24.90696 13.7559,0 24.90695,11.15105 24.90695,24.90696 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.59776002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none"
+ id="path42"
+ inkscape:connector-curvature="0" /></g><g
+ id="g44"
+ transform="translate(56.447,68.499)"><g
+ id="g46"><g
+ id="g48"
+ transform="translate(-101.856,-152.97)"><text
+ transform="matrix(1,0,0,-1,101.856,152.97)"
+ id="text50"><tspan
+ style="font-size:7.97009993px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:CMR8;-inkscape-font-specification:CMR8"
+ x="0 5.4069157 8.7073345 12.941849 16.70533 19.057306 23.762056"
+ y="0"
+ sodipodi:role="line"
+ id="tspan52">Tracing</tspan></text>
+<g
+ id="g54"
+ transform="translate(101.856,152.97)" /></g></g><g
+ id="g56"
+ transform="translate(-56.447,-68.499)" /></g></g><g
+ transform="matrix(1.25,0,0,-1.25,56.76125,122.78375)"
+ style="display:inline"
+ id="g98"><path
+ d="m 7.8308,29.22702 c 6.14624,19.1698 18.54745,30.42239 36.0576,34.21565"
+ style="fill:none;stroke:#000000;stroke-width:0.59776002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none"
+ id="path100"
+ inkscape:connector-curvature="0" /><g
+ id="g102"
+ transform="matrix(0.97865,0.21199,-0.21199,0.97865,43.8884,63.44267)"><g
+ id="g104"><path
+ d="m 0.91655,0 c -1.14568,0.22913 -2.29138,0.68741 -3.66621,1.4894 1.37483,-1.03113 1.37483,-1.94767 0,-2.9788 1.37483,0.80199 2.52053,1.26027 3.66621,1.4894 z"
+ style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.59776002;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none"
+ id="path106"
+ inkscape:connector-curvature="0" /></g></g><g
+ id="g108"><g
+ id="g110"
+ transform="translate(-41.588,57.135)"><g
+ id="g112"><g
+ id="g114"
+ transform="translate(-3.821,-141.606)"><text
+ transform="matrix(1,0,0,-1,3.821,141.606)"
+ id="text116"><tspan
+ style="font-size:6.97380018px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:CMTI7;-inkscape-font-specification:CMTI7"
+ x="0 4.2065964 8.4131927 14.163788 16.32218 20.117321 24.323917 31.508326 35.71492 39.512157 42.284939 45.670719 49.467953 52.240734 55.633488"
+ y="0"
+ sodipodi:role="line"
+ id="tspan118">hotloopdetected</tspan></text>
+<g
+ id="g120"
+ transform="translate(3.821,141.606)" /></g></g><g
+ id="g122"
+ transform="translate(41.588,-57.135)" /></g></g></g></g><g
+ inkscape:groupmode="layer"
+ id="layer5"
+ inkscape:label="compilation"
+ style="display:inline"><g
+ transform="matrix(1.25,0,0,-1.25,56.76125,122.78375)"
+ style="display:inline"
+ id="g58"><g
+ id="g60"><path
+ d="m 197.05687,70.44759 c 0,14.90161 -12.07983,26.98144 -26.98145,26.98144 -14.90161,0 -26.98144,-12.07983 -26.98144,-26.98144 0,-14.90162 12.07983,-26.98145 26.98144,-26.98145 14.90162,0 26.98145,12.07983 26.98145,26.98145 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.59776002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none"
+ id="path62"
+ inkscape:connector-curvature="0" /></g><g
+ id="g64"
+ transform="translate(147.255,68.455)"><g
+ id="g66"><g
+ id="g68"
+ transform="translate(-192.664,-152.926)"><text
+ transform="matrix(1,0,0,-1,192.664,152.926)"
+ id="text70"><tspan
+ style="font-size:7.97009993px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:CMR8;-inkscape-font-specification:CMR8"
+ x="0 6.1162548 10.350769 17.407495 22.112246 24.464222 26.816198 31.050713 34.34396 36.695934 40.93045"
+ y="0"
+ sodipodi:role="line"
+ id="tspan72">Compilation</tspan></text>
+<g
+ id="g74"
+ transform="translate(192.664,152.926)" /></g></g><g
+ id="g76"
+ transform="translate(-147.255,-68.455)" /></g></g><g
+ transform="matrix(1.25,0,0,-1.25,56.76125,122.78375)"
+ style="display:inline"
+ id="g150"><path
+ d="m 92.34576,83.0905 c 18.11411,10.92772 35.50846,11.2639 52.09127,2.11029"
+ style="fill:none;stroke:#000000;stroke-width:0.59776002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none"
+ id="path152"
+ inkscape:connector-curvature="0" /><g
+ id="g154"
+ transform="matrix(0.87622,-0.48367,0.48367,0.87622,144.43703,85.20079)"><g
+ id="g156"><path
+ d="m 0.91655,0 c -1.14568,0.22913 -2.29138,0.68741 -3.66621,1.4894 1.37483,-1.03113 1.37483,-1.94767 0,-2.9788 1.37483,0.80199 2.52053,1.26027 3.66621,1.4894 z"
+ style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.59776002;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none"
+ id="path158"
+ inkscape:connector-curvature="0" /></g></g></g></g><g
+ inkscape:groupmode="layer"
+ id="layer6"
+ inkscape:label="running"
+ style="display:inline"><g
+ transform="matrix(1.25,0,0,-1.25,56.76125,122.78375)"
+ style="display:inline"
+ id="g78"><g
+ id="g80"><path
+ d="m 265.42998,0 c 0,13.7559 -11.15105,24.90694 -24.90695,24.90694 -13.75591,0 -24.90696,-11.15104 -24.90696,-24.90694 0,-13.7559 11.15105,-24.90694 24.90696,-24.90694 13.7559,0 24.90695,11.15104 24.90695,24.90694 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.59776002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none"
+ id="path82"
+ inkscape:connector-curvature="0" /></g><g
+ id="g84"
+ transform="translate(224.702,-1.948)"><g
+ id="g86"><g
+ id="g88"
+ transform="translate(-270.111,-82.523)"><text
+ transform="matrix(1,0,0,-1,270.111,82.523)"
+ id="text90"><tspan
+ style="font-size:7.97009993px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:CMR8;-inkscape-font-specification:CMR8"
+ x="0 6.2294302 10.93418 15.63893 20.343679 22.695656 27.400406"
+ y="0"
+ sodipodi:role="line"
+ id="tspan92">Running</tspan></text>
+<g
+ id="g94"
+ transform="translate(270.111,82.523)" /></g></g><g
+ id="g96"
+ transform="translate(-224.702,1.948)" /></g></g><g
+ transform="matrix(1.25,0,0,-1.25,56.76125,122.78375)"
+ style="display:inline"
+ id="g160"><path
+ d="m 196.47784,63.3736 c 20.31107,-5.86295 32.43097,-18.45757 36.97692,-36.8283"
+ style="fill:none;stroke:#000000;stroke-width:0.59776002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none"
+ id="path162"
+ inkscape:connector-curvature="0" /><g
+ id="g164"
+ transform="matrix(0.24063,-0.97238,0.97238,0.24063,233.45476,26.5453)"><g
+ id="g166"><path
+ d="m 0.91655,0 c -1.14568,0.22913 -2.29138,0.68741 -3.66621,1.4894 1.37483,-1.03113 1.37483,-1.94767 0,-2.9788 1.37483,0.80199 2.52053,1.26027 3.66621,1.4894 z"
+ style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.59776002;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none"
+ id="path168"
+ inkscape:connector-curvature="0" /></g></g></g></g><g
+ inkscape:groupmode="layer"
+ id="layer7"
+ inkscape:label="cold_guard"
+ style="display:inline"><g
+ transform="matrix(1.25,0,0,-1.25,56.76125,122.78375)"
+ style="display:inline"
+ id="g170"><path
+ d="M 224.24709,-19.39551 C 173.87463,-81.7608 72.17174,-83.67355 20.95428,-24.90617"
+ style="fill:none;stroke:#000000;stroke-width:0.59776002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none"
+ id="path172"
+ inkscape:connector-curvature="0" /><g
+ id="g174"
+ transform="matrix(-0.65752,0.75444,-0.75444,-0.65752,20.95428,-24.90617)"><g
+ id="g176"><path
+ d="m 0.91655,0 c -1.14568,0.22913 -2.29138,0.68741 -3.66621,1.4894 1.37483,-1.03113 1.37483,-1.94767 0,-2.9788 1.37483,0.80199 2.52053,1.26027 3.66621,1.4894 z"
+ style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.59776002;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none"
+ id="path178"
+ inkscape:connector-curvature="0" /></g></g><g
+ id="g180"><g
+ id="g182"
+ transform="translate(93.378,-75.828)"><g
+ id="g184"><g
+ id="g186"
+ transform="translate(-138.787,-8.643)"><text
+ transform="matrix(1,0,0,-1,138.787,8.643)"
+ id="text188"><tspan
+ style="font-size:6.97380018px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:CMTI7;-inkscape-font-specification:CMTI7"
+ x="0 3.3857799 7.5923762 9.7507668 16.935177 20.73241 25.144035 29.350632 32.428867 39.613277 42.181728 46.388325 48.956772 51.115166 54.507919"
+ y="0"
+ sodipodi:role="line"
+ id="tspan190">coldguardfailed</tspan></text>
+<g
+ id="g192"
+ transform="translate(138.787,8.643)" /></g></g><g
+ id="g194"
+ transform="translate(-93.378,75.828)" /></g></g></g></g><g
+ inkscape:groupmode="layer"
+ id="layer8"
+ inkscape:label="compiled_loop"
+ style="display:inline"><g
+ transform="matrix(1.25,0,0,-1.25,56.76125,122.78375)"
+ style="display:inline"
+ id="g124"><path
+ d="M 215.66725,-9.05807 C 147.99724,-34.38509 97.67914,-34.84343 29.35406,-10.67384"
+ style="fill:none;stroke:#000000;stroke-width:0.59776002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none"
+ id="path126"
+ inkscape:connector-curvature="0" /><g
+ id="g128"
+ transform="matrix(0.93787,0.35104,-0.35104,0.93787,215.66725,-9.05807)"><g
+ id="g130"><path
+ d="m 0.91655,0 c -1.14568,0.22913 -2.29138,0.68741 -3.66621,1.4894 1.37483,-1.03113 1.37483,-1.94767 0,-2.9788 1.37483,0.80199 2.52053,1.26027 3.66621,1.4894 z"
+ style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.59776002;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none"
+ id="path132"
+ inkscape:connector-curvature="0" /></g></g><g
+ id="g134"><g
+ id="g136"
+ transform="translate(82.498,-36.794)"><g
+ id="g138"><g
+ id="g140"
+ transform="translate(-127.907,-47.677)"><text
+ transform="matrix(1,0,0,-1,127.907,47.677)"
+ id="text142"><tspan
+ style="font-size:6.97380018px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:CMTI7;-inkscape-font-specification:CMTI7"
+ x="0 3.7972341 8.4131927 11.185975 14.98321 18.472898 21.041349 25.657307 32.432354 35.818134 40.024731 46.688892 50.895489 53.46394 55.62233 59.00811 66.19252 68.350914 72.15303 76.359627"
+ y="0"
+ sodipodi:role="line"
+ id="tspan144">enteringcompiledloop</tspan></text>
+<g
+ id="g146"
+ transform="translate(127.907,47.677)" /></g></g><g
+ id="g148"
+ transform="translate(-82.498,36.794)" /></g></g></g></g><g
+ inkscape:groupmode="layer"
+ id="layer9"
+ inkscape:label="bridge"
+ style="display:inline"><g
+ transform="matrix(1.25,0,0,-1.25,56.76125,122.78375)"
+ style="display:inline"
+ id="g196"><path
+ d="M 215.52757,3.29033 C 163.03967,10.19096 132.52094,22.82886 92.27628,53.69821"
+ style="fill:none;stroke:#000000;stroke-width:0.59776002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none"
+ id="path198"
+ inkscape:connector-curvature="0" /><g
+ id="g200"
+ transform="matrix(-0.79616,0.61072,-0.61072,-0.79616,92.27628,53.69821)"><g
+ id="g202"><path
+ d="m 0.91655,0 c -1.14568,0.22913 -2.29138,0.68741 -3.66621,1.4894 1.37483,-1.03113 1.37483,-1.94767 0,-2.9788 1.37483,0.80199 2.52053,1.26027 3.66621,1.4894 z"
+ style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.59776002;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none"
+ id="path204"
+ inkscape:connector-curvature="0" /></g></g><g
+ id="g206"><g
+ id="g208"
+ transform="translate(74.916,11.213)"><g
+ id="g210"><g
+ id="g212"
+ transform="translate(-120.325,-95.684)"><text
+ transform="matrix(1,0,0,-1,120.325,95.684)"
+ id="text214"><tspan
+ style="font-size:6.97380018px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:CMTI7;-inkscape-font-specification:CMTI7"
+ x="0 3.7972341 8.2088604 12.415456 15.493691 22.678101 25.246552 29.453146 32.021599 34.179989 38.591614 41.669849"
+ y="0"
+ sodipodi:role="line"
+ id="tspan216">guardfailure</tspan></text>
+<text
+ transform="matrix(1,0,0,-1,168.772,95.684)"
+ id="text218"><tspan
+ style="font-size:6.97380018px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:CMSY7;-inkscape-font-specification:CMSY7"
+ x="0"
+ y="0"
+ id="tspan220">→</tspan></text>
+<text
+ transform="matrix(1,0,0,-1,179.692,95.684)"
+ id="text222"><tspan
+ style="font-size:6.97380018px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:CMTI7;-inkscape-font-specification:CMTI7"
+ x="0 4.2065964 8.4131927"
+ y="0"
+ sodipodi:role="line"
+ id="tspan224">hot</tspan></text>
+<g
+ id="g226"
+ transform="translate(120.325,95.684)" /></g></g><g
+ id="g228"
+ transform="translate(-74.916,-11.213)" /></g></g></g></g><g
+ inkscape:groupmode="layer"
+ id="layer10"
+ inkscape:label="hot_guard"
+ style="display:inline"><g
+ transform="matrix(1.25,0,0,-1.25,56.76125,122.78375)"
+ style="display:inline"
+ id="g12"><g
+ id="g14" /><g
+ id="g16" /></g><g
+ transform="matrix(1.25,0,0,-1.25,56.76125,122.78375)"
+ style="display:inline"
+ id="g230"><g
+ id="g234"
+ transform="matrix(0.25931,0.96782,-0.96782,0.25931,233.41267,-26.53523)"><g
+ id="g236"><path
+ d="m 0.91655,0 c -1.14568,0.22913 -2.29138,0.68741 -3.66621,1.4894 1.37483,-1.03113 1.37483,-1.94767 0,-2.9788 1.37483,0.80199 2.52053,1.26027 3.66621,1.4894 z"
+ style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.59776002;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none"
+ id="path238"
+ inkscape:connector-curvature="0" /></g></g></g><path
+ transform="matrix(1.25,0,0,-1.25,56.76125,122.78375)"
+ d="m 247.05948,-24.39468 c 10.55665,-39.39658 -23.62958,-39.39658 -13.64681,-2.14055"
+ style="fill:none;stroke:#000000;stroke-width:0.59776002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;display:inline"
+ id="path232"
+ inkscape:connector-curvature="0" /><g
+ transform="matrix(1.25,0,0,-1.25,56.76125,122.78375)"
+ style="display:inline"
+ id="g240"><g
+ id="g242"
+ transform="translate(212.551,-62.403)"><g
+ id="g244"><g
+ id="g246"
+ transform="translate(-257.96,-22.068)"><text
+ transform="matrix(1,0,0,-1,257.96,22.068)"
+ id="text248"><tspan
+ style="font-size:6.97380018px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:CMTI7;-inkscape-font-specification:CMTI7"
+ x="0 4.2065964 8.4131927 14.163788 17.961021 22.372648 26.579245 29.657478 36.841888 39.410339 43.616936 46.185387 48.343777 51.729557"
+ y="0"
+ sodipodi:role="line"
+ id="tspan250">hotguardfailed</tspan></text>
+<g
+ id="g252"
+ transform="translate(257.96,22.068)" /></g></g><g
+ id="g254"
+ transform="translate(-212.551,62.403)" /></g></g></g></svg>
\ No newline at end of file
diff --git a/talk/ep2012/jit/talk/talk.rst b/talk/ep2012/jit/talk/talk.rst
--- a/talk/ep2012/jit/talk/talk.rst
+++ b/talk/ep2012/jit/talk/talk.rst
@@ -71,3 +71,53 @@
|pause|
* PyPy: JIT, Dynamic, Tracing
+
+
+Assumptions
+-----------
+
+* Pareto Principle (80-20 rule)
+
+ - the 20% of the program accounts for the 80% of the runtime
+
+ - **hot-spots**
+
+* Fast Path principle
+
+ - optimize only what is necessary
+
+ - fall back for uncommon cases
+
+|pause|
+
+* Most of runtime spent in **loops**
+
+* Always the same code paths (likely)
+
+
+Tracing JIT
+-----------
+
+* Interpret the program as usual
+
+* Detect **hot** loops
+
+* Tracing phase
+
+ - **linear** trace
+
+* Compiling
+
+* Execute
+
+ - guards to ensure correctness
+
+* Profit :-)
+
+
+Tracing JIT phases
+-------------------
+
+.. animage:: diagrams/tracing-phases-p*.pdf
+ :align: center
+ :scale: 100%
More information about the pypy-commit
mailing list