Mam dwie wersje fast newline-counting routine. Jeden działa na starszym sprzęcie, a drugi działa znacznie szybciej za pomocą instrukcji POPCNT, która jest dostępna na nowszym sprzęcie (np. Procesory Intel 6. generacji).Jak wykryć, czy procesor ma dobrą obsługę POPCNT?
Teraz chciałbym użyć najlepszej wersji dla każdego procesora — jak mogę się dowiedzieć, czy ma on wysoką wydajność POPCNT?
Nie powinien ["count_ones'] (https://doc.rust-lang.org/std/primitive.usize.html#method.count_ones) zrobić to automatycznie? – starblue
@starblue może być inny. Użycie opcji 'count_ones' pozwoli na optymalizację LLVM dla ** docelowego ** komputera, aby można było usunąć wszelkie decyzje dotyczące środowiska wykonawczego. Jeśli skompilowany kod musi być w stanie przełączać się w czasie wykonywania, nadal może być konieczne zapytanie do bieżącego procesora. – Shepmaster