Publish wiki from the repository

2026-10-19 19:42:33 +02:00
parent 9b0a725a84
commit 50fda7c41a
+35
@@ -0,0 +1,35 @@
# Penerangan
🌐 [English](Description) · [Dansk](Description-da) · **Bahasa Melayu**
## Tujuan
Program ini menunjukkan betapa lajunya sesebuah CPU. Kelajuan yang kelihatan
bergantung pada cara program ditulis, jadi angka itu mengukur CPU dan kod
bersama-sama, bukan CPU sahaja.
## Apa yang dilakukannya
Program menguji setiap nombor dari 0 hingga 1,000,000 dengan `is_prime_avx2`,
yang menggunakan pembahagian cuba-cuba AVX2 dengan 6k ± 1 (empat pembahagi
setiap langkah). Ia mencetak setiap nombor perdana pada barisnya sendiri dan
menulis baris ringkasan ke standard error:
```text
Found 78498 primes from 0 to 1000000 in 13.806 ms
```
78,498 ialah bilangan nombor perdana yang diketahui hingga 1,000,000, jadi baris
ringkasan juga berfungsi sebagai semakan ketepatan.
## Mengapa masa bergantung pada kod
CPU yang sama memberi masa yang sangat berbeza untuk program yang berbeza:
- algoritma (pembahagian cuba-cuba, ayak, ayak bersegmen),
- set arahan yang digunakan (kod skalar, AVX2, AVX-512),
- pengkompil dan bendera (`-O3 -mavx2`, MSVC `/O2 /arch:AVX2`),
- apa yang diukur (carian sahaja, atau juga pencetakan ke konsol).
Di sini hanya carian diukur. Keputusan dikumpul dahulu dan dicetak kemudian,
supaya kelajuan konsol tidak mengubah angka.