General programming question on Static Classes

Hello this is not anything related to unity, just a general programming question

I am having a this doubt about the static classes and static function, still im unable to find which of the following is better at which situation.

say there are 2 classes,

public class A
{

  public static void doSomething()
  {
    //
  } 
}


public static class B
{
  public static void doSomething()
  {
    //
  } 
}

now if i call A.doSomething() and B.doSomething, what will be the difference, which one will be faster. And which one will be effective. Well is there any difference at all actually?

I have tried to figure it out for quiet some time now, but helpless here.

There is no difference in performance. A static class declares that all of its members are static, and the compiler enforces that.

The one benefit of static classes is that you can use them to write Extension Methods.

 public static class A
 {
       public static void CoolHuh(this GameObject go)
       {
              go.transform.forward = go.transform.right;
              Debug.Log("Not actually that cool");
       }
 }

Then you can do

  anyGameObject.CoolHuh();