Pages

Sunday, September 23, 2012

Performance of an application - it’s not the tool, but the person

Frankly speaking, I was still benchmarking Qt and Lazarus on making my application with Qt, and yesterday I concluded. It was not the tool or language itself, but the users’ capabilities which determines the performance of an application. Whether it be Pascal or C++, LCL or Qt, if the programmer generates spaghetti code, the application SHALL SURELY slow down. In my recent benchmarks, if I use only the same routine and algorithms, time elapsed was always the same between two environments by 1/1000 seconds. So, anyway the problem is pilot, whether the personal trooper be Gespenst or Alteisen(?).

So finally I chose Object-Pascal based Lazarus. Though I have used Qt in my development, as I continue my benchmark with the hope in Pascal language, I could assure myself if the programmer has enough capabilities then tools are just ‘tools.’ Of course I’m a huge fan, or Otaku(….. :P) of Pascal language. Though it does not have features as rich as Qt does, which is overwhelming, I can easily and more simply implement those features, and the my performance of implementation was similar to that in Qt. So I’m going with Lazarus, which is surely my best partner.

But I don’t want to say that Qt is poor. It’s still great library. Personally, the structure of Qt is the most beautiful after Delphi VCL. But restrictions in 3rd party libraries due to the structure of the library itself as well as its unique preprocessing represented by moc makes me hesitate to choose the environment as my favorite. And debugging is yet another problem - Now I encountered memory leak, and I don’t see any solution with features provided by QString. When I load a data of a few hundred megabytes into RAM, in 32bit environment application hangs with “out of memory” error. I’d like to do manual garbage collection, but the memory manager Qt uses didn’t allow me to do that. It’s like a bit unfit clothes to me.

So, I planned to start rebuilding the application by making some libraries for features not implemented in base library, but now I become lazy and tired….. I don’t want to do anything right now. Baaaaaaah. -o-

Would there be anything that excites my passion?

No comments:

Post a Comment