Summer of Code - Getting Started: Difference between revisions

(More stuff...)
Line 87: Line 87:
=== Implement (or improve?) JIT compiling ===
=== Implement (or 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 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.


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


From profiling the interpreter, it appears that a lot of time is spending allocating and deallocating memory. A better memory management algorithm might provide some improvement.
From profiling the interpreter, it appears that a lot of time is spending allocating and deallocating memory. A better memory management algorithm might provide some improvement.