perf(ivy): extract template's instruction first create pass processing (#33856)

This refactorings clearly separates the first and subsequent creation execution
of the `template` instruction. This approach has the following benefits:
- it is clear what happens during the first vs. subsequent executions;
- we can avoid several memory reads and checks after the first creation pass
(there is measurable performance improvement on various benchmarks);
- the template instructions becomes smaller and should become a candidate
for optimisations / inlining faster;

PR Close #33856
This commit is contained in:
Pawel Kozlowski
2019-11-15 16:59:31 +01:00
committed by Alex Rickabaugh
parent 456ea5cce4
commit 01af94ccd7
2 changed files with 49 additions and 32 deletions

View File

@ -443,9 +443,6 @@
{
"name": "concatString"
},
{
"name": "containerInternal"
},
{
"name": "createContainerRef"
},
@ -1301,6 +1298,9 @@
{
"name": "syncViewWithBlueprint"
},
{
"name": "templateFirstCreatePass"
},
{
"name": "textBindingInternal"
},