Difference between revisions of "Ideas for Google Summer of Code/Optimise the VM for transfer"

From Apertium
Jump to navigation Jump to search
(Created page with '{{TOCD}} ==Tasks== ==Coding challenge== ==Frequently asked questions== ==Previous GSOC projects== Optimise the VM for transfer')
 
Line 1: Line 1:
 
{{TOCD}}
 
{{TOCD}}
  +
  +
The current VM for the transfer architecture of Apertium is up to five times slower than the XML tree-walking implementation. The job of this task is to optimise the C++ code to make it faster than XML tree-walking.
  +
  +
The rationale behind this is that XML tree-walking is quite slow and CPU intensive. In modern (3 or more stage) pairs, transfer takes up most of the CPU. There are other options, like Bytecode for transfer, but we would like something that does not require external libraries and is adapted specifically for Apertium.
   
 
==Tasks==
 
==Tasks==
   
 
==Coding challenge==
 
==Coding challenge==
  +
  +
* Install Apertium and [[VM for transfer]]
  +
* Choose a language pair and adjust it to use VM for transfer instead of the tree-walking implementation
  +
* Compare the speed of both implementations
   
 
==Frequently asked questions==
 
==Frequently asked questions==

Revision as of 15:49, 4 March 2012

The current VM for the transfer architecture of Apertium is up to five times slower than the XML tree-walking implementation. The job of this task is to optimise the C++ code to make it faster than XML tree-walking.

The rationale behind this is that XML tree-walking is quite slow and CPU intensive. In modern (3 or more stage) pairs, transfer takes up most of the CPU. There are other options, like Bytecode for transfer, but we would like something that does not require external libraries and is adapted specifically for Apertium.

Tasks

Coding challenge

  • Install Apertium and VM for transfer
  • Choose a language pair and adjust it to use VM for transfer instead of the tree-walking implementation
  • Compare the speed of both implementations

Frequently asked questions

Previous GSOC projects