Я не уверен, какова проблема, но я вполне уверен, это зафиксирует ее.
for (i=0; i<arrChecks.length; i++)
{
var attribute = arrChecks[i].getAttribute("xid")
if (attribute == elementName)
{
if (arrChecks[i].checked == 0)
{
arrChecks[i].checked = 1;
} else {
arrChecks[i].checked = 0;
}
} else {
arrChecks[i].checked = 0;
}
}
Из документации Intel мне неясно, используют ли процессоры Hyperthreading общий регистровый файл между потоками или два разных (я бы предположил, что они на самом деле разные, поскольку в противном случае время переключения контекста между HT потоков будет довольно большим, но это чисто предположение).
Что касается ускорения - оно будет зависеть от вашего сочетания инструкций и расписания. Помните, что ЦП HT не имеет дополнительных ресурсов выполнения (ALU, блоки загрузки / сохранения и т. Д.), Повышение производительности связано с лучшим использованием этих ресурсов, поскольку типичный код, особенно на современном процессоре, тратит разумное количество времени, заблокированного в ожидании завершения загрузки и сохранения памяти перед продолжением выполнения. HT позволяет чередовать эти загрузки и сохранения, так что один поток останавливается при чтении, а другой может быть включен и начать использовать ресурсы выполнения, которые ранее простаивали.
Я бы предположил, какой вид повышения производительности вы повысите. можно увидеть, что при многопоточности программа SSE будет зависеть от соотношения операций с памятью и арифметических операций. Если, например, ваша программа SSE загружает 4 регистра SSE из памяти, выполняет с ними 10 000 операций SSE, а затем записывает 4 регистра обратно, вы вряд ли увидите много преимуществ от возможности HT перекрывать доступ к памяти, потому что 99% времени выполнения ваших программ будет тратиться на SIMD ALU, а не на доступ к памяти.
С другой стороны, если ваша программа очень требовательна к вычислениям, то многопоточность вашей программы может значительно повысить производительность на многоядерных процессорах,
Они логически дублируются - каждый поток получает собственное состояние. Физически они могут быть общими - в зависимости от вашей реализации гиперпоточности.