Performance Improvement

From AbiWiki

Revision as of 04:31, 26 February 2008 by Hub (Talk | contribs)
Jump to: navigation, search


Name: Jaime Bernardo

I am 19 years and a second year undergrad student of Information Systems and Computer Engineering in the Lisbon campus of Instituto Superior Tecnico (Portugal). University webpage -> http://www.ist.utl.pt Degree Web Page(in English) -> https://fenix.ist.utl.pt/publico/showDegreeSite.do?method=showDescription&executionPeriodOID=84&degreeID=10

On your Summer of Code Project suggestions website there is stated that there are areas where Abiword performance could be improved. Quoting website: AbiWord becomes barely usable on documents of 400 pages or more. weve identified a number of areas where our performance can be improved.

I would like to work in coming up with, implementing, and testing new algorithms for efficiency in those areas.

I think I am suitable for this job, based on the fact that I have finished my Algorithms and Data Structures course (with projects in C). I also have 4 years experience in the C programming language, because my High School Area was Informatics. Furthermore, I learnt the Java language on one of my degrees courses and Im learning C++ this semester, so I have some experience in Object Oriented Programming.

I actually love to program and coming up with strange algorithms for my courses projects. Sometimes I end up making up totally inefficient algorithms (once I implemented graph algorithms based on Algebric vector multiplication, it worked but was totally inefficient) but when this occurs I investigate for efficient Algorithms already existent and use the one that would be more efficient.

Improving efficiency of some features could involve changing or run-time converting the data structures of some identities to another to apply some specific algorithms, added to the fact that all performance improves need to be tested, so I understand that this project could be very time consuming. I am ready, if necessary, to withdraw from any summer trips.

I cannot present a schedule in this application, since theres no indication of which areas need to be analysed and improved. It is not enough to do your best: you must know what to do, and THEN do your best. -- W. Edwards Deming Surely a mentor will indicate me which areas need attention.

I estimate two weeks of problem analysis, investigation and design. The rest of the time would be spent coding and testing each of the improvement attempts against each other until the last week. This last week would be spent writing a final report with all the changes, tests and tries.

My motivations to this project, beside liking the subject and the money, are the fact that it will insert me into the open source community, teach me new programming skills and algorithm knowledge, and it will look pretty good into my curriculum =D

Looking forward to start working.

Contributors

Personal tools