Question: I know that binding to CLR properties is slower than INotifyPropertyChanged.

But if my View Model does not change any of its property after it has been created then will it give me any performance gain if I provide empty implementation of INotifyPropertyChanged in my View Model?

Thanks.

Answer: 
It won't give you any performance benefits implementing this if you are not using it. 

If the properties are only being set at initialisation you can change your binding mode to OneTime this should reduce the overhead. 

Also this is a great page to checkout for databinding performance

<http://msdn.microsoft.com/en-us/library/bb613546.aspx>
Use Binding Mode=OneTime or implement INotifyPropertyChanged interface. 

Otherwise you will have memory leak. See <http://support.microsoft.com/kb/938416>.