[Biopython] Is it possible at all to change 1 or 2 files into basic C++

Fulton, Ben befulton at iu.edu
Wed Sep 2 13:16:36 UTC 2020


Nevertheless, performance improvements would always be of interest. Perhaps you could put together a proof-of-concept with some speed comparisons between the current code and your improved code.

--
Ben Fulton
Research Applications and Deep Learning
Research Technologies
Indiana University
E-Mail: befulton at iu.edu<mailto:befulton at iu.edu>

From: Biopython <biopython-bounces+befulton=iu.edu at mailman.open-bio.org> On Behalf Of Michiel de Hoon
Sent: Wednesday, September 2, 2020 6:42 AM
To: biopython at biopython.org; Huy Đức Lê <lehuyduc3 at gmail.com>
Subject: Re: [Biopython] Is it possible at all to change 1 or 2 files into basic C++

In the past there was some C++ code in Biopython, but we spent quite a bit of time to replace it with C and Python code. Based on our experience in the past, I don't think we should go back to adding C++ code to Biopython. The main issues was ran into were:
- Compilation problems on different platforms. Python itself is written in C, and the same compilation flags that were used on a specific platform to compile Python itself are reused to compile C extension modules, making the process robust. We don't have this for C++.
- Not many people know how to write extension modules in C (which is fairly well described in the Python documentation); few people will know how to do this correctly in C++, especially with regard to memory management. You may be the only person who know how to do this, which means you would be the only person who could maintain such modules.
- The C++ modules we had were actually a mixture of C code and C++ code and did not always have a clean code design.

For the sake of portability and maintainability, I think then that BIopython should follow PEP7 and use C (ANSI/ISO C with the C99 extensions defined in PEP7) only.

-Michiel


On Sunday, August 30, 2020, 10:35:25 AM GMT+9, Huy Đức Lê <lehuyduc3 at gmail.com<mailto:lehuyduc3 at gmail.com>> wrote:


if we can get 50%+ performance boost in some functions (such as sorting, or random generator), with minimal extra code? It's entirely possible to do it in C, but it'll be longer/harder to maintain. Unchanged code will keep the same speed.

We can stick to basic C++ features (templates, std::string, ...) to keep the C-like simplicity. C++11 would be best.



--


[https://lh6.googleusercontent.com/IJyoaP68AkF3BU3FlmFCX-EC0mBf7bG7a2i1k5DkNw0Cs9OA8ID3bAry0320i5cLqQF6hKHkhxkdZ1A8Ugi7gFp_tA7-tbnYjqHkKHPYsCZziS5Wpkuz9R1MBigVAq1moouwioho]


Duc Le Huy (Mr.)

Undergraduate student

ICT Faculty

University of Science & Technology of Hanoi

Phone number : (+84) 918296356

Email: lehuyduc3 at gmail.com<mailto:lehuyduc3 at gmail.com>

_______________________________________________
Biopython mailing list  -  Biopython at mailman.open-bio.org<mailto:Biopython at mailman.open-bio.org>
https://mailman.open-bio.org/mailman/listinfo/biopython
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.open-bio.org/pipermail/biopython/attachments/20200902/01c38682/attachment-0001.htm>


More information about the Biopython mailing list