kylelutz / chemkit

A C++ library for molecular modelling, cheminformatics and molecular visualization.
http://www.chemkit.org
BSD 3-Clause "New" or "Revised" License
54 stars 26 forks source link

Remove Qt dependency from libchemkit #1

Closed kylelutz closed 13 years ago

kylelutz commented 13 years ago

Remove libchemkit's dependence on the Qt library. This will increase portability and improve performance for the core chemkit library. Qt's containers and algorithms should be replaced with their equivalents from STL and Boost.

grigorykoryak commented 13 years ago

1) As far as i know containers from QT more faster than containers from STL. They are more comfortable also. I tried to compile chemkit with MSVS 2005 but unsuccessfully due to STL errors. 2) The second holywar is a strings. If you plan to use STL::STRING then you will not have UTF-8 support and you have to use additional libs from boost. QString is solved both problems.

I may take ownership of this issue based on your final decision

kylelutz commented 13 years ago

@grigorykoryak 1) It has been my experience that the STL has much higher performance than Qt. For example compare the speed of the benchmark tests before and after commit f23d3c46c82bb203b872 (Rewrite MolecularGraph using the STL). There was a sizable increase in speed due to using the STL for the ring perception and isomorphism algorithms. If you have some benchmark data showing that Qt has higher performance I would love to see it.

2) I don't feel that we need support for UTF-8 strings in the core library. Most all uses of strings in the core library only require the basic ASCII character set. Let me know what concerns you have with UTF-8.

Also, please add bug reports with the errors you get compiling chemkit with MSVS 2005 and I'll see what I can do to fix them.

Cheers, Kyle