Erlang components can be compiled natively. Since the xml component of ejabberd is used so often, and is so performance critical, compiling it natively can give a speed improvement. "go to the directory with xml.erl and run the compiler: cd ejabberd/src erlc +native xml.erl Finally, move the xml.beam file into your ebin directory." I think this should be done during the compile phase. See http://metajack.im/2009/01/18/speed-up-ejabberd/ for more information. Reproducible: Always
Thank you for report candrews. Unfortunately I don't think it's wise to enable this feature distribution wide based on the information we have. There are no real numbers in that blog how faster this feature makes ejabberd in general. There is just rough estimate for one function. Please provide us with numbers and then we'll definitely reconsider our current resolution. Also note, there in comments is the following: "You are loosing features by using HiPE (stacktrace) and the performance increase must be tested because context switching between native and non native can cost quite a lot as well." So again without real tests I don't see how this is useful.