Åbning af løkken ( engelsk loop unswitching ) består i at tage tilstanden ud af løkken og duplikere løkkens krop med placeringen af de tilsvarende muligheder i de tilsvarende grene af betingelsen. Dette forbedrer ydeevnen på grund af det faktum, at moderne processorer kan udføre vektoroperationer (denne optimeringstransformation kan udføres i forbindelse med sløjfeafvikling , og resultatet af afvikling er igen flere operationer i iteration udført på successive hukommelsesområder, der kan erstattes én vektor, hvis arkitekturen tillader det; for eksempel gøres dette i ICC ). Det gør det også mere effektivt at køre løkken parallelt.
Tilstanden inde i løkkelegemet forhindrer den i at blive paralleliseret. Efter åbning har den følgende form:
hvis ( w ) { for ( i = 0 ; i < 1000 ; i ++ ) { x [ i ] += y [ i ]; y [ i ] = 0 ; } } andet { for ( i = 0 ; i < 1000 ; i ++ ) { x [ i ] += y [ i ]; } }Hver af de resulterende cyklusser kan til gengæld optimeres separat.