Author: Antonio Cuni <anto.c...@gmail.com> Branch: Changeset: r44730:6ef744efe14c Date: 2011-06-06 11:43 +0200 http://bitbucket.org/pypy/pypy/changeset/6ef744efe14c/
Log: expand this task diff --git a/pypy/doc/image/jitviewer.png b/pypy/doc/image/jitviewer.png new file mode 100644 index 0000000000000000000000000000000000000000..ad2abca5c88125061fa519dcf3f9fada577573ee GIT binary patch [cut] diff --git a/pypy/doc/project-ideas.rst b/pypy/doc/project-ideas.rst --- a/pypy/doc/project-ideas.rst +++ b/pypy/doc/project-ideas.rst @@ -29,12 +29,35 @@ * interface with fortran/C libraries. -JIT tooling ------------ +Improving the jitviewer +------------------------ Analyzing performance of applications is always tricky. We have various tools, for example a `jitviewer`_ that help us analyze performance. -Improvements to existing tools as well as new tools would be of great help. + +The jitviewer shows the code generated by the PyPy JIT in a hierarchical way, +as shown by the screenshot below: + + - at the bottom level, it shows the Python source code of the compiled loops + + - for each source code line, it shows the corresponding Python bytecode + + - for each opcode, it shows the corresponding jit operations, which are the + ones actually sent to the backend for compiling (such as "i15 = i10 < + 2000" in the example) + +.. image:: image/jitviewer.png + +We would like to add one level to this hierarchy, by showing the generated +machine code for each jit operation. The necessary information is already in +the log file produced by the JIT, so it is "only" a matter of teaching the +jitviewer to display it. Ideally, the machine code should be hidden by +default and viewable on request. + +The jitviewer is a web application based on flask and jinja2 (and jQuery on +the client): if you have great web developing skills and want to help PyPy, +this is an ideal task to get started, because it does not require any deep +knowledge of the internals. Translation Toolchain --------------------- _______________________________________________ pypy-commit mailing list pypy-commit@python.org http://mail.python.org/mailman/listinfo/pypy-commit