Prestasi Lambat iostream Perpustakaan Standard C
Walaupun iostream perpustakaan standard C mungkin tidak secara eksplisit mewajibkan prestasi buruk, laporan teknikal mengenai Prestasi C mencadangkan bahawa aspek tertentu pemprosesannya boleh membawa kepada ketidakcekapan.
Ketidakcekapan Dimandatkan Standard
Menurut laporan, pelaksanaan iostreams lazimnya melibatkan pengedaran pemprosesan melalui pelbagai aspek. Ini boleh mengakibatkan ketidakcekapan yang wujud disebabkan oleh overhed yang dikaitkan dengan operasi setiap aspek.
Faset dan Tulis()
Walaupun aspek mungkin tidak digunakan secara langsung dalam penulisan( ) operasi, memprofilkan kod aliran ostring anda mendedahkan bahawa masa yang penting dihabiskan dalam std::basic_streambuf::xsputn(). Fungsi ini melakukan pelbagai semakan dan kemas kini, yang membawa kepada overhed pemprosesan tambahan.
Pengoptimuman dalam Penyusun Moden
Laporan tersebut menyebut bahawa sesetengah penyusun mungkin menggunakan teknik prapemprosesan atau pemautan lanjutan kepada mengurangkan ketidakcekapan yang berkaitan dengan iostreams. Walau bagaimanapun, tidak pasti bilangan penyusun semasa yang telah menggabungkan pengoptimuman ini.
Pelaksanaan Alternatif
Dalam amalan, penyusun seperti Visual C 2010 dan gcc 4.3.4 mempamerkan prestasi kompetitif dengan pengurusan penimbal manual apabila menggunakan vektor
Pertimbangan Praktikal
Prestasi iostream yang diperhatikan dalam ujian anda berpunca daripada senario terburuk penulisan ketulan kecil data berulang kali. Dalam aplikasi dunia nyata, berurusan dengan blok data yang lebih besar mengurangkan kesan overhed dan membolehkan iostreams menggunakan sepenuhnya kelebihan reka bentuk selamat memori dan selamat jenisnya.
Atas ialah kandungan terperinci Mengapakah Prestasi C iostream Kadang-kadang Lambat, dan Bilakah Alternatif Diperlukan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!