And your script makes too many temporary lists which are not necessary.
The more list making the more time taking.
import clr
import System
clr.AddReference('RevitAPI')
import Autodesk
from Autodesk.Revit.DB import *
import Autodesk.Revit.DB as DB
clr.AddReference('RevitServices')
import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager
doc = DocumentManager.Instance.CurrentDBDocument
# get sectionlines in active view
sectionlines = FilteredElementCollector(doc, doc.ActiveView.Id).OfCategory(BuiltInCategory.OST_Viewers).ToElements()
# get viewname parameter
# get all views in project
allViews = FilteredElementCollector(doc).OfCategory(BuiltInCategory.OST_Views).ToElements()
views = []
# get viewnames of all views in project
for sectionline in sectionlines:
sectionName=sectionline.Name
for allView in allViews:
viewName=allView.Name
if viewName == sectionName:
views.append(allView)
break #stop looping if match found
OUT = views