Ideas for Google Summer of Code/Optimise the VM for transfer

From Apertium
Jump to navigation Jump to search

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