Zalety Hyper Threading w rozwoju oprogramowania

4

Intel Core i7 ma funkcję Hyper Threading.

W jaki sposób ta funkcja jest pomocna w tworzeniu oprogramowania? (Nie rozwijanie gry)

dotnetstep
źródło

Odpowiedzi:

5

Hyper Threading jest przydatny, jeśli używasz komputera do tworzenia oprogramowania, ponieważ bieżące środowiska programistyczne są zoptymalizowane pod kątem wykorzystania wielu wątków, co przyspiesza rozwój. Visual Studio jest przykładem takiego środowiska.

Jednak jeśli chodzi o wykonywanie programu, który aktualnie kodujesz, HT nie pomaga, chyba że tworzysz aplikację korzystającą z wielu wątków.

Mam nadzieję, że dobrze zrozumiałem twoje pytanie. Być może, jeśli możesz rozwinąć, dlaczego jest to dla ciebie ważne, możemy pomóc trochę więcej.

ebooyens
źródło
Konfiguruję środowisko programistyczne w domu. Jestem zdezorientowany pomiędzy dwoma procesorami, ponieważ czuję, że mają prawie identyczną specyfikację z niewielkimi zmianami. Tylko HT jest funkcją występującą w Core I7, ale nie w Core I5. Teraz po twojej odpowiedzi czuję, że HT jest użyteczny, ponieważ jeśli otworzę wiele edytorów, takich jak VS, emulator Androida, emulator Win phone 8, dobrze jest mieć
dotnetstep
OK ma sens, tak Procesor i7 będzie generalnie posiadał więcej pamięci podręcznej niż i5 i będzie działał z wyższymi szybkościami i może mieć więcej rdzeni fizycznych oprócz HT, więc ogólnie powinien przewyższać go, ale istnieje kilka generacji liczników obu i rdzeni , częstotliwości, więc nie do końca tak wyraźne cięcie
ebooyens
Niektóre z nowych Core I5 ​​mają włączoną funkcję HT, ale model, który otrzymuję z pulpitem, nie jest dostępny z nowym procesorem.
dotnetstep
1

Z odrobiną uproszczenia:

  • Hyper Threading (HT) to implementacja wielu wątków na rdzeń
  • implementacje wielowątkowe na rdzeń umożliwiają:
    • szybsze wykonywanie kodu o dużej liczbie wątków poprzez zmniejszenie oczekiwania wątku
    • uczynić przełączniki gwintowe tańsze

Ta funkcja jest przydatna, jeśli masz aktywną liczbę wątków, która jest wyższa niż liczba rdzeni. Tak jest często w przypadku procesów serwerowych - np. serwer baz danych, taki jak MySQL, skorzysta z HT, jeśli (i tylko wtedy) uruchomionych zostanie więcej zapytań (nie czeka na dysk, ale działa w ścisłym znaczeniu tego słowa) niż dostępne rdzenie procesora.

Eugen Rieck
źródło
Dzięki za odpowiedź. Próbujesz powiedzieć, że jeśli mam jeden system, który ma wiele zainstalowanych programów, takich jak SQL Server, Visual Studio Development, Android Development Environment, to jest to przydatne.
dotnetstep
1
HT przyspiesza współbieżne wątki (to samo mapowanie pamięci) znacznie więcej niż procesy współbieżne (różne mapowanie pamięci), np. w pojedynczym czterordzeniowym procesorze 8 procesów przyniesie niewiele korzyści, ale 4 procesy z 2 uruchomionymi wątkami pokażą wzrost wydajności.
Eugen Rieck