Xml parsing blocks optimization need help

I make an application to view TV channels EPG
I upload XMLTV file in GitHub then use the link of the file as web URL
Get web text process and calculating time zone offset of XMLTV file take about 3 seconds
I use result procedure to change dates in XMLTV file from string to time and date format and adjust the time according to the device time zone
Also i use result procedure to calculate the duration of the show and the remaining time of the current show
I filter the data using IF logic to prepare a list of current running shows
Then i extract the data i need from this list
The problem that when XMLTV contain more than 10 channels ( the list of shows may reach 400 shows ) this process take about 15 second to show the result
So any help to optimize the filtering process to take less time