infistream

Pembuatan Profil

Profilasi kode menggunakan pengukuran kinerja sangat penting untuk perangkat lunak CFD karena perangkat lunak CFD harus tidak hanya akurat, kuat, tetapi juga cepat pada satu inti CPU dan, untuk masalah besar, cepat ketika berjalan pada banyak inti CPU. DLList mirip dengan std:list.

Untuk kode pustaka OpenFOAM standar, pilihan struktur data terletak di antara empat keluarga kontainer utama:
1. Daftar (List)
2. DynamicList
3. Daftar berantai (LList)
4. Peta asosiatif yang diimplementasikan sebagai HashTable

Coba jalankan aplikasi uji profil di mana pun di sistem Anda (tidak memerlukan eksekusi dalam direktori kasus simulasi OpenFOAM):
Kode pengukuran waktu telah ditambahkan ke aplikasi untuk bagian kode yang melakukan penambahan elemen di akhir DynamicField. Anda dapat menjalankan aplikasi dengan menyediakan nilai yang berbeda untuk ukuran kontainer dan melihat bagaimana waktu berbeda antara kontainer yang diinisialisasi dan kontainer dengan ukuran yang diinisialisasi.

Setelah Anda membangun repositori kode sumber contoh dalam mode Debug, Anda dapat memprofil aplikasi testProfiling menggunakan valgrind:
Valgrind menggunakan berbagai alat seperti menangkap cache misses, memeriksa program untuk memori yang bocor, dll, tetapi hal ini di luar cakupan buku ini. Informasi lebih lanjut tentang topik-topik tersebut dapat ditemukan dalam dokumentasi resmi valgrind. Ini membawa kita pada kesimpulan bahwa meskipun DynamicList dan DynamicField bersifat dinamis, ada biaya yang harus dibayar untuk menambahkan elemen di akhir kontainer tersebut setelah kapasitasnya terlampaui.
Open chat
Infichat
Hello 👋
Thank you for text me
Can we help you?