Pre-Assembling of the matrixes for time-dependent non-linear problems

Hello everyone!
I want to ask you about a more general topic. Does have anyone background with the efficient avoiding assembly of the parts of Jacobian in non-linear and time-dependent tasks?
In my case, there is no big difference in results (a preassembled version of code workes sometime slower then assembling in each step).

I am solving Cahn-Hilliard equation with implicit Euler and automatic step evaluation based on a number of iterations and number of finite elements lies between 15k and 130k. Constant parts of Jacobian are stored as PETScMatrixes and added with petsc4py function axpy.