Calculated dimension is a great way to view data over values in creative ways, especially when developing. There's a cost involved in this, like every other calculation. The total sum of this "cost" can be higher that desired.
Simple text extractions or field value manipulations are not very expensive. Date/time manipulation on the other hand is unfortunately on the more expensive end of the scale. If performance is vital, then the best approach is, if possible, to perform field manipulation in the load-script, instead of repeating the calculation over and over for every click and every user.
One thing to be aware of is the price of having more than one field in the calculation.
This will exclude the objects result set from using the cache So if the expression is complex/heavy/slow it will continue to be so even if the exact result was calculated previously.