I'm writing a paper comparing the performance of 2 algorithms (lets call them A and B). A performs better than B, however preliminary data suggested a way to significantly improve the performance of B. I made the changes to B and sure enough now B outperforms A. I've verified that it's not just a fluke of the specific inputs I was testing against, making the changes to B leads to consistently better performance.

What is the best way to write these findings up? It feels an awful lot like cherry picking to me (especially since I didn't know when I started that I could improve B and for all I know there are improvements to A that could make it better than the improved B)

But despite its questionable origins the modified algorithm does perform the task faster and I want to include that information in my paper.

What is the best approach to take? Call the modified version Algorithm C and just add it to the paper? Add this information to the appendix? Something else?

  • 2
    I haven't written enough papers on my own to offer a definitive answer, but I can say that you are most certainly not cherry-picking. Cherry-picking would be ignoring certain inputs where B is slower than A (and not reporting that). In fact, presumably you've got a paper here on how to speed up algorithm B. That said -- you should check to see if there's any past work on speeding up that algorithm, and you would need to rigorously check that you haven't made any additional assumptions or affected corner cases.
    – tonysdg
    Mar 30, 2017 at 4:13

3 Answers 3


Consider this: What question is your paper trying to answer?

This is the real question to consider. If I were writing a paper about average milk production of cows and my question was "How much milk does the average cow produce in a year?" and then I only selected the 10 best cows, then I am really answering the question "How much milk do the 10 best cows in my selection produce in a year?".

If your paper's aim is to compare two or three algorithms, then there's no problem. If you write a paper about A and B, it's no different from writing a paper about A and C or A, B, and C. How you arrived at the algorithms does not change question you are answering.


I would comment instead of answering, but I can't, so here it goes. What I would do is state what has actually been done, which is a project in two steps: (1) enhancing the algorithms as much as possible [you have already done this to B, but not A yet, so do it] and (2) testing for efficiency. This is consistent and clean, and looks perfect even though you started with something else in your mind. (If a research project could predict everything one would find during research itself, no research would be needed.)


So you have A, B and B'. If A and B have been already presented in the literature but a comparison has not been made, an article presenting B' and comparing it with A and B seems useful. There is no cherry picking, since you are not ignoring data. It may be helpful to include your thoughts on potential improvements to A or B that you did not pursue.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .