Is re-rewriting the core function of a world class - well known open source project (where performance is a crucial) and optimizing it to be 2-3 times faster, considered research?
It might be, but only under certain restrictions:
- You need to be sure no-one has written about the improvement before. And I am not talking about the particular piece of code in the particular project you are looking at here, but about the conceptual idea of how to improve the code. If you want to present your work as a scientific contribution, it needs to be conceptually novel in a way that no-one has described the methods you use in an abstract way before.
- You need to present your improvement on an abstract, generalized level. Modifying a particular project is nice, but it is not research. Showing a novel method how to modify any number of projects that feature a particular problem can be.
- Your change should not be entirely obvious. While research contributions do not necessarily need to be totally unexpected or groundbreakingly obscure ideas, if many developers could make the same modifications to the project simply by applying their professional knowledge, your contribution is probably not considered valuable enough, even if no-one else has described the actual procedure before.
To answer concretely to your points:
The idea is to parallelize it as much as possible,
This might be interesting for a paper if it involves any methods for parallelization that were previously unknown, and that can be applied to other applications, as well.
modify (a bit) well known data structures to be faster for the specific case,
A "specific case" is usually not interesting for research results; it only becomes interesting if you can show the "specific case" is generalizeable in some way.
use a more suited language
If you design a new language that is specifically suited for the type of applications in question, that could be publishable as research, at least if that language has conceptual advantages over existing domain-specific or general purpose languages for any class of applications. The mere translation into an existing language is most probably not publishable as research.
and (a bit) more suited algorithms than the open source project used.
If those algorithms are already known, it is probably somewhat obvious that they could be used on that particular proejct. As such, this is not a research contribution.
I am applying what others made.
Yes, fine.
I don't create an entirely new algorithm or data structure.
Well, do you create anything conceptually new at all?
But on the other hand, I guess there are 1,000s of papers published out there and many of them add little value, while my work will help improve the open source project.
"little value" is relative. In research publications, value does not mean a solution can readily be used. Rather than that, value is usually seen as the product of
- the degree by which a problem is solved/situation is improved if the presented knowledge is applied
- the amount of cases in which that problem occurred/to which the solution is applicable
Due to the second item, whether or not you already apply your method to one particular project is hardly relevant. As soon as it is known how to solve the issue, the research is done. Implementing the solution in a project may be helpful to the users of the project, but it does not advance the knowledge of humanity and as such, does not warrant a research publication in and of itself.
To summarize: A research publication is not about what has been done, but about what has been learned.