CallBimlScript slow with Bidshelper + VS2013

When troubleshooting slow biml generation times on a fairly large solution of 100+ ssis packages I found out that one of the culprits are CallBimlScript() function.

I created a test showing the overhead this function generates. By examining the packages CreationDates i summarize the total time.

SpeedTest.biml

<#@ template language="C#" tier="1" #>
<Biml xmlns="http://schemas.varigence.com/biml.xsd"> <Annotations> <Annotation AnnotationType="CodeComment"><#=DateTime.Now.ToString("s")#> Biml start time</Annotation> </Annotations> <Packages> <# for (int i=0;i<1000;i++) { #> <Package Name="Package <#=i#>" CreationDate="<#=DateTime.Now.ToString("s")#>"> <Annotations> <#=CallBimlScript("TestFunction.biml") #> </Annotations> </Package> <# } #> </Packages> </Biml>

TestFunction.biml

<Annotation AnnotationType="CodeComment">Hard-coded comment</Annotation>

Result, generation times


1000 packages (seconds)Overhead per CallBimlScript() (ms)
Bids Helper + Visual Studio 2013
132
132
Biml Express + Visual Studio 2015
0
0

For big solutions, where you try to avoid code duplication by splitting logic into smaller biml-files, you need to carefully consider using callbimlScript() until BimlExpress is mature enough for your solution to be upgraded. For our solution, at least two bugs in BimlExpress cause us not to upgrade yet.



Comments

Popular posts from this blog

SSIS: Set parent package variable from child package

How to decrypt stored password from SSMS registered servers

Insert bulk statement does not support recompile (SQL 2017)