1. An interpreter performing operations specified in a computer program consisting of instructions, said instructions being translated to an intermediate format comprising an intermediate code for said instructions, using a service routine to perform the semantics of an instruction, comprising: statistics means for collecting and recording statistics of how often service routines are executed and what parameters they had; clustering means for grouping (SR 89, SR 17... SR 6 ; SR 4, SR 34... SR 16 ) frequently used service routines with program jumps between each other in a program function with regard to a predetermined frequency value for determining such service routines; said statistics means recording the frequency of service routines executed after a said function; and encoding means for assigning a frequently used service routines a shorter code than service routines (SR 3, SR 57, SR 94... SR 64 ) executed after a said function, thus gathered statistics, from an execution, control an encoding to optimize frequently used service routines for faster execution speed.