Di luar @ Christophe jawaban yang sangat baik, kode yang dihasilkan untuk statis kemungkinan besar lebih buruk daripada yang untuk variabel lokal, jadi jika Anda tertarik dengan manfaat under-the-hood, statika lebih buruk pada prosesor modern.
Alasannya adalah bahwa statika harus ditempatkan di suatu tempat dalam memori yang dapat ditemukan oleh semua utas lainnya dan oleh semua doa lainnya. Ini pada dasarnya berarti menempatkan mereka dalam memori global.
Selama bertahun-tahun, prosesor & kompiler bersama-sama memiliki akses yang dioptimalkan secara signifikan ke variabel lokal karena popularitas penggunaannya, dibandingkan dengan variabel lain, seperti global, statika, dan bidang. Kompiler dapat memilih untuk menyimpan variabel lokal dalam register CPU, dan bahkan jika itu tidak (jadi ia menggunakan tumpukan doa), semua tumpukan hampir pasti ada dalam cache. Mengakses tumpukan biasanya merupakan mode pengalamatan perpindahan pendek (dari register penunjuk tumpukan). Namun, mengakses global atau statika biasanya memerlukan dan diperluas offset atau alamat absolut, sehingga instruksi yang dihasilkan lebih lama dari yang setara untuk akses memori stack.
Semua yang dikatakan, karena kombinasi statis dan const, kompiler dapat mendeteksi bahwa ia dapat menggantikan nilai konstan pada titik penggunaan, jadi mungkin penggunaan const mengurangi hal di atas. Tetap saja, cuplikan Anda menunjukkan setidaknya satu statika non-konstanta, jadi mungkin bahasannya topikal.