Ok, here are my results to check shaders changes.
The selfmade methode needs around 500% more.
This has as background that with the buildin function i need only to check if the material evaluation value is changed, not the matrial shader itself.
When a shader, which is connected to this material, is changed, the material becomes another evaluation value.
With the selfmade function, i must check each shader which is connected to this material.
This includes the material shaders and his connected shaders.
At the end, i will use my function although he needs 5 times more.
When you now ask why, i can say you will not notice it.
The time will go from 0.0022sec to 0.0122sec for 21 shaders.
face