Should be orders of magnitude faster than the default cleanup proc.
Mine was running for 25 minutes when I decided to kill it and add a small change.
The solution to the slowness was to replace all the table variables in the MS proc with temp tables.
Additionally, added clustered primary keys to the temp tables.
Choose how much history you want to keep and assign it as per below.
declare @olddate datetime
declare @var int = -120
set @olddate = DATEADD(day,@var,GETDATE())
exec [dbo].[faster_delete_backuphistory] @oldest_date = @olddate
Be careful as it may complete the task before you have a chance to stop it in SSMS, so test it first to see if it meets your needs.