The main requirement, which generally applies to method of optimization - optimized application should have the same results and side effects on the same set of input data as unoptimized one. However, this requirement may not have a special role, if the gain through the use of optimization might be considered more important than the effects of changes in the behavior of the program. When manually optimizing code, there is another problem: the need to know not only how to optimize but also in any place to apply it. Typically, due to various factors (slow input operation, difference in speed of operation of human operator and machine, etc.), only 10% of the code occupies as much as 90% of execution time. So how to optimize the need to spend extra time so instead of trying to optimize the entire program, it would be better to proceed with optimization of these "critical" by the time of implementation of 10%. This piece of code called a bottleneck and to define it special programs, called profilers, are used. This allows measuring the time of the various parts of the program. Our experts possess all necessary knowledge and skills that used to identify all bottlenecks and to optimize the code qualitatively, fast and what is most importantly, to the extent necessary.