What is the difference between ExecuteInEditMode and ExecuteAlways?

What is the difference between ExecuteInEditMode and ExecuteAlways?

Hello,everyone , I read the document about ExecuteInEditMode.

These two paragraphs in the document:

This attribute is being phased out since it does not take Prefab Mode into account. If a Prefab with a MonoBehaviour with this attribute on is edited in Prefab Mode, and Play Mode is entered, the Editor will exit Prefab Mode to prevent accidental modifications to the Prefab caused by logic intended for Play Mode only.
To indicate that a MonoBehaviour correctly takes Prefab Mode into account and is safe to have open in Prefab Mode while in Play Mode, the attribute ExecuteAlways can be used instead of the attribute here.

It means if users want to enter playmode in prefab editing mode, users would better use ExecuteAlways.

However , I still don’t understand what difference is between them , after I test so many times.

I can watch the risk window jumps up to remind me when I make a simple script include ExecuteInEditMode and try to enter playmode ,
and then I press “ignore” , the performance is like as the other one I test with ExecuteAlways.

I am not sure if there is something I missed ?
They are the same for now, though, will only ExecuteAlways be left in the future?