var is replaced by the compiler with the right type, so there is no runtime performance hit, aside from a very small compile time overhead maybe (veeeeeeeery small).
Actually, from a readability point of vue, I personally do as follows:
Also, you might be tempted to use them when you have a very complex type instantiation, like:
var myDict = new Dictionary<string, List<Tuple<string, object>>>();
Here, it really improves readability.