Dalam senario yang melibatkan pemprosesan fail besar-besaran yang mengandungi garisan apungan yang dipisahkan ruang, kesesakan selalunya bukan pada akses fail tetapi dalam proses penghuraian.
Soalan memperkenalkan teknik yang melibatkan pengekstrakan berturut-turut menggunakan operator aliran (>>), yang boleh cekap tetapi terhad dalam kelajuan. Selain itu, strtok, fungsi pemisah rentetan, disebut, tetapi ia memerlukan penukaran selanjutnya untuk terapung.
Boost Spirit, terutamanya penghurai berasaskan tatabahasa, membuktikan menjadi pilihan terbaik untuk tugasan ini. Ia mengendalikan pengesahan data, pelaporan ralat dan fleksibiliti ruang kosong dengan kecekapan yang luar biasa.
Penanda aras meluas yang dijalankan oleh penyoal mendedahkan bahawa Boost Spirit mengatasi semua alternatif lain:
[Imej carta perbandingan prestasi]
Bagi mereka yang menggunakan C 14, Spirit X3 percubaan adalah lebih pantas, seperti yang ditunjukkan dalam penanda aras yang dikemas kini.
Coretan kod di bawah mempamerkan Boost Pelaksanaan semangat untuk menghuraikan format baris yang diberikan:
bool ok = phrase_parse(f, l, (double_ > double_ > double_) % eol, blank, data);
Atas ialah kandungan terperinci Bagaimanakah Boost Spirit Boleh Mempercepatkan Penghuraian Terapung Terpisah Ruang dalam C ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!