Inline functions are a compiler directive that suggests the compiler to insert the complete body of the function wherever it is called, potentially reducing the overhead of a function call. While they can increase performance by eliminating call overhead, they may also lead to larger binary sizes if overused, as each call site contains a copy of the function code.