Prestasi Moving_avg_concurrent2
Moving_avg_concurrent2 tidak berskala kerana overhed mencipta dan mengurus berbilang goroutin melebihi faedah selari. Goroutine ialah benang ringan, tetapi ia masih mempunyai beberapa overhed yang berkaitan dengannya, seperti kos mencipta dan menjadualkan goroutine dan kos berkomunikasi antara goroutine. Dalam kes ini, overhed menguruskan goroutine adalah lebih besar daripada faedah menyelaraskan pengiraan.
Prestasi_avg_concurrent3 Moving_avg_concurrent3
Moving_avg_concurrent3 adalah lebih perlahan daripada moving_avg_serial4 kerana ia menggunakan master4. /paradigma pekerja, yang memperkenalkan tambahan atas kepala. Dalam paradigma tuan/pekerja, utas induk mencipta kumpulan utas pekerja dan kemudian mengedarkan kerja kepada pekerja. Pekerja kemudian melakukan pengiraan dan mengembalikan hasilnya ke benang induk. Ini memperkenalkan overhed tambahan kerana benang induk perlu mencipta dan mengurus benang pekerja, dan pekerja perlu berkomunikasi dengan benang induk untuk menerima kerja dan mengembalikan hasilnya.
Kesimpulan
Dalam kes ini, adalah tidak mungkin untuk mencapai peningkatan prestasi yang ketara dengan menyelaraskan pengiraan. Overhed menguruskan goroutin melebihi faedah selari. Adalah lebih baik untuk menggunakan pelaksanaan bersiri algoritma, seperti moving_avg_serial4.
Atas ialah kandungan terperinci Mengapa Keselarian Tidak Meningkatkan Prestasi dalam Pengiraan Purata Pergerakan Ini?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!