It is shown that every pure logic program can be transformed to a normal form without changing the lengths of computations and the data flow during computation. The lengths of computations of logic programs in normal form are studied. Some sufficient conditions on the syntactic structure of programs are formulated that imply that the length of computation is linear with respect to the length of the input. On the other hand, it is shown that logic programs with the simplest possible normal forms, i.e. programs with at most one called node and one calling leaf, can simulate computations of arbitrary Turing machine. Consequently, such programs can exhibit arbitrary complex computational behaviour.