Solved by ptrblck in post #2 
              
              
                The nn.Linear module calls into F.linear in its forward pass as seen here. 
How did you profile it to come to the conclusion the functional call is slower than the modules? 
Usually all modules call into their functional equivalent.