Summer of Code - Getting Started: Difference between revisions

Line 127: Line 127:
'''Potential mentors''': John W. Eaton, Jordi Gutiérrez Hermoso
'''Potential mentors''': John W. Eaton, Jordi Gutiérrez Hermoso


=== Implement (or improve?) JIT compiling ===
=== Improve JIT compiling ===


Octave's interpreter is ''very'' slow on loops. Implementing JIT compiling would dramatically speed up execution of these loops. This is a very big project, but a dedicated student might make a good attempt of doing this over a summer. There may be some work already in place by the time the summer comes along. The idea is to probably use [http://en.wikipedia.org/wiki/Llvm LLVM] to aid with the JIT compilation.
Octave's interpreter is ''very'' slow on some loops. Last year, thanks to Max Brister's work, an initial implement of a just-in-time compiler (JITC) in [http://llvm.org LLVM] for GSoC 2012. This project consists in understanding Max's current implementation and extending it so that functions and exponents  (e.g. 2^z) compile with the JITC. This requires knowledge of compilers, C++, LLVM, and the Octave or Matlab languages. A capable student who demonstrates the ability to acquire this knowledge quickly may also be considered.


=== Improve memory management ===
=== Improve memory management ===