Tingkatkan kinerja atoi ()
Mengikuti saran Andrei Alexandrescu dalam kuliahnya "Menulis Kode Cepat" pada Kode :: Konferensi Dive 2015 Saya mencoba memberikan setara lebih cepat untuk atoi () tetapi memaksimalkan kompatibilitas mundur.
Anda memiliki kode warisan menggunakan atoi () di mana Anda ingin meningkatkan kinerja parsing string. Akan sangat mudah untuk membuat rutinitas string-> int parsing khusus jika format input dijamin, misalnya setiap angka tidak ditandatangani dan persis empat digit. Namun ada kasus di mana string yang dikirim ke atoi () berasal dari klien eksternal sehingga Anda tidak dapat mengasumsikan dengan mudah bahwa string tidak memiliki spasi putih atau termasuk karakter non-numerik di akhir.
Fungsi atoi () melakukan hal berikut:
Berikut adalah hasil untuk satu sistem opsi/kompiler/kompiler opsi (optimasi penuh).
Bagan Waktu CPU:
Bagan Waktu Berlalu:
Referensi C ++