From 50fda7c41a233c9f1aab408aa8f42ac2d1443147 Mon Sep 17 00:00:00 2001 From: Tirsvad Date: Mon, 19 Oct 2026 19:42:33 +0200 Subject: [PATCH] Publish wiki from the repository --- Description-ms.md | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 Description-ms.md diff --git a/Description-ms.md b/Description-ms.md new file mode 100644 index 0000000..7c2ac06 --- /dev/null +++ b/Description-ms.md @@ -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.