Glibcs ​​strncasecmp / strcasecmp Dapatkan Versi yang Dioptimalkan AVX2 & EVEX, Turunkan AVX

  • Post author:
  • Post category:Linux

GNU C Library (glibc) telah mendapatkan 23 patch yang menyediakan versi AVX2 dan EVEX yang dioptimalkan dari fungsi strcasecmp/strncasecmp sambil menjatuhkan dukungan untuk implementasi AVX asli.

Serangkaian patch oleh Noah Goldstein digabungkan ke Glibc Git akhir pekan lalu menawarkan versi AVX2 dan EVEX yang dioptimalkan dari fungsi str{n}casecmp — fungsi yang umum digunakan untuk perbandingan string — untuk pustaka C yang banyak digunakan di sistem Linux ini.

Versi yang dioptimalkan AVX2 dari fungsi-fungsi ini membutuhkan waktu sekitar sepertiga lebih sedikit daripada implementasi SSE4.2. Sementara itu, versi EVEX dari fungsi-fungsi ini dalam tolok ukur yang sama terhadap jalur kode SSE 4.2 membutuhkan waktu 38% lebih sedikit.

Sekarang dengan penerapan AVX2, versi asli Advanced Vector Extensions (AVX) dari fungsi strcasecmp/strncasecmp sedang dihapus. Versi AVX tersebut akan dihapus karena kinerjanya mirip dengan implementasi SSE 4.2 dan AVX2 didukung secara luas di seluruh versi modern. Prosesor yang paling diuntungkan dari versi AVX(1) adalah Sandy Bridge dan Ivy Bridge yang “menjadi usang” dan dengan demikian membebaskan kode tersebut dari basis kode Glibc.

Lihat tambalan ini jika tertarik dengan detailnya.

Disadur dari Phoronix.com.