Saya tahu saya cukup sering mendengar bahwa C biasanya memiliki keunggulan kinerja lebih dari C ++. Saya tidak benar-benar memikirkan hal lain sampai saya menyadari bahwa MSVC tampaknya tidak mendukung standar terbaru C, tetapi yang terbaru mendukungnya C99 (sejauh yang saya tahu).
Saya berencana menulis perpustakaan dengan beberapa kode untuk di-render di OpenGL sehingga saya bisa menggunakannya kembali. Saya berencana untuk menulis perpustakaan di C karena setiap peningkatan kinerja diterima ketika datang ke grafis.
Tetapi apakah itu benar-benar layak? Kode yang menggunakan perpustakaan kemungkinan akan ditulis dalam C ++ dan saya lebih suka kode dalam C ++ secara umum.
Namun, jika itu akan menghasilkan bahkan perbedaan kecil dalam kinerja, saya mungkin akan pergi dengan C.
Dapat juga dicatat bahwa perpustakaan ini akan menjadi sesuatu yang akan saya buat untuk bekerja di Windows / OS X / Linux, dan saya mungkin akan mengkompilasi semuanya secara asli (MSVC untuk Windows, Dentang atau GCC untuk OS X, dan GCC untuk Linux .. .atau mungkin kompiler Intel untuk semuanya).
Saya telah melihat sekeliling dan saya telah menemukan beberapa tolok ukur dan semacamnya, tetapi semua yang saya lihat lebih berkaitan dengan GCC daripada MSVC dan Dentang. Juga, tolok ukur tidak menyebutkan standar bahasa yang digunakan. Adakah yang punya pemikiran tentang ini?
EDIT:Saya hanya ingin membagikan sudut pandang saya tentang pertanyaan ini setelah beberapa tahun pengalaman lebih. Saya akhirnya menulis proyek yang saya ajukan pertanyaan ini di C ++. Saya memulai proyek lain sekitar waktu yang sama di C ketika kami mencari untuk keluar dalam jumlah kecil kinerja yang kami bisa dan membutuhkan proyek yang dapat dihubungkan dalam C. Beberapa bulan yang lalu, saya mencapai titik di mana saya benar-benar membutuhkan peta dan maju manipulasi string. Saya tahu kemampuan untuk ini di pustaka standar C ++ dan akhirnya sampai pada kesimpulan bahwa struktur-struktur di pustaka standar kemungkinan akan mengungguli dan lebih stabil daripada peta dan string yang bisa saya implementasikan dalam C dalam jumlah waktu yang wajar. Persyaratan untuk dapat dihubungkan dalam C mudah dipenuhi dengan menulis antarmuka C ke kode C ++, yang dilakukan dengan cepat dengan jenis buram. Menulis ulang pustaka dalam C ++ tampaknya jauh lebih cepat daripada saat menulisnya di C dan kurang rentan terhadap bug, terutama kebocoran memori. Saya juga bisa menggunakan pustaka threading library standar, yang jauh lebih mudah daripada menggunakan implementasi platform-spesifik. Pada akhirnya, saya percaya menulis perpustakaan di C ++ membawa manfaat besar dengan kemungkinan biaya kinerja yang kecil. Saya belum membandingkan versi C ++, tetapi saya percaya bahwa mungkin saja saya telah mendapatkan beberapa kinerja dengan menggunakan struktur data perpustakaan standar daripada yang saya tulis. Saya percaya menulis perpustakaan di C ++ membawa manfaat besar dengan kemungkinan biaya kinerja yang kecil. Saya belum membandingkan versi C ++, tetapi saya percaya bahwa mungkin saja saya telah mendapatkan beberapa kinerja dengan menggunakan struktur data perpustakaan standar daripada yang saya tulis. Saya percaya menulis perpustakaan di C ++ membawa manfaat besar dengan kemungkinan biaya kinerja yang kecil. Saya belum membandingkan versi C ++, tetapi saya percaya bahwa mungkin saja saya telah mendapatkan beberapa kinerja dengan menggunakan struktur data perpustakaan standar daripada yang saya tulis.