SIMD intrinsics (такой как SSE2) может ускорить этот вид вещи, но взять экспертные знания для использования правильно. Они очень чувствительны к выравниванию и конвейерно обрабатывают задержку; небрежное использование может сделать производительность еще хуже, чем это было бы без них. Вы заставите намного более легкое и больше непосредственного ускорения от простого использования упреждающей выборки кэша удостоверяться, что все Ваши ints находятся в L1 как раз к Вам для работы на них.
, Если для Вашей функции не нужна пропускная способность лучше, чем 100 000 000 целых чисел в секунду, SIMD, вероятно, не стоит проблемы Вам.
Sass variables are only visible to the level of indentation at which they are declared and those nested underneath it. So you only need to declare !bg_color outside of your for loop:
!bg_color = #FFF
@for !i from 1 through 9
!foo = #000
@if !i == 1
!bg_color = #009832
@if !i == 2
!bg_color = #195889
#bar#{!i}
color: #{!foo}
background-color: #{!bg_color}
And you'll get the following css:
#bar1 {
color: black;
background-color: #009832; }
#bar2 {
color: black;
background-color: #195889; }
#bar3 {
color: black;
background-color: #195889; }
#bar4 {
color: black;
background-color: #195889; }
#bar5 {
color: black;
background-color: #195889; }
#bar6 {
color: black;
background-color: #195889; }
#bar7 {
color: black;
background-color: #195889; }
#bar8 {
color: black;
background-color: #195889; }
#bar9 {
color: black;
background-color: #195889; }