Performance

From ZekrWiki

Jump to: navigation, search

Overview

Zekr is written in Java, so it's performance is not as fast as normal native C++ application, however the current implementation paid attention to performance issues by optimizing IO calls, using facades, making timely tasks lazy. Java is actually not as slow as people usually think. Zekr performs some timely tasks on startup, and doing that even with C++ is not very faster that current implementation. For example it starts a browser instance on runtime which is really timely for browsers like Mozilla.

Startup/execution time

Startup time can be made faster by doing one or more of the followings:

  • compiling Zekr with latest .class file target (now this is javac -target 1.6), and using JRE 1.6 or newer for running Zekr. Please note that normal Zekr builds are compiled with -target 1.4 option for compatibility reasons, which makes its startup and execution time a bit slower.
  • removing all unused language packs from [zekr_installation]/res/lang directory. By default Zekr loads all the language packs into memory on startup (in order to extract language packs properties).
  • removing all translations (works with Zekr 0.6.0beta2+). Default translation is loaded into memory. This can be even worse if you've set multiple translations and using Multi-translation layout, which makes startup time slower because it loads all those translations into memory.
Personal tools
download