Running time of partial algorithms
Given an algorithm $A$ (on inputs from some set $X$), we define the runtime function to be
$T_A(x) : X \to \mathbb{N} \cup \{\infty\}$ so that

$\qquad T_A(x) = \begin{cases}
    \text{number steps } A(x) \text{ takes},\ \ &amp;A(x)\!\downarrow \\
    \infty, &amp;A(x)\!\uparrow
  \end{cases}$

for all $x \in X$. I denote with $A(x)\!\downarrow$ that $A$ terminates on $A$, 
and with $A(x)\!\uparrow$ the opposite.
Note that the number of steps an algorithm takes on an input depends on the 
computational model you choose, but we can leave that abstract here.

Now, the common way to define worst-case runtime is

$\qquad\displaystyle T_A^{\mathrm{WC}}(n) = \max \{ T_A(x) \mid x \in X, |x| = n\}$

which of course yields $\infty$ if there is any input of the given size for which $A$ loops.
You want

$\qquad\displaystyle T_A^{\mathrm{WC\downarrow}}(n) = \max \{ T_A(x) \mid x \in X, |x| = n, A(x)\!\downarrow\}$.

I don't know an established name for that one, but if I were to need one I'd go with
terminating-worst-case runtime¹. That said, you probably use only one
notion of runtime most of the time, so you can do as most authors do and say something
along the lines of:


  From here on out, we always mean $T_A^{\mathrm{WC\downarrow}}$
    when we write "runtime" unless otherwise specified.


So yes, just use runtime but make very clear what you mean by that.




You notice that the definition of $T_A^{\mathrm{WC\downarrow}}$ assumes
that there is at least one input of every size for which $A$ terminates.
You should handle the case if that fails.