I have this software I had to use for my PhD that was nowhere near as speedy or memory-efficient as I needed with the mountains of data we have. Therefore I rewrote it from scratch, outsourcing a lot of it to C and made it parallel (it was trivially parallelizable up to the number of chromosomes in the organism). Since it is so memory efficient it also allows for computations that were not previously possible.
1) Now, is this thing publishable? I have made no improvements to the results of the algorithm per se it is just improved from a user / comp.sci. perspective.
2) And what are the ethics of this? If it were published, I'd imagine I'd be getting the cites, not the original authors that actually invented the technique/algorithm. I'd feel bad about this part. My changes are mostly in the implementation, great as they may be.
Thoughts on these issues welcome. Same goes for any related issues I did not consider.
Ninja edit: 3) what are the pros and cons of contacting the original authors? I am afraid they'd just claim that I did not do anything original, tell me to publish my code on github and redirect the cites to their original paper.