Pertanyaan yang diberi tag «performance»

Pertanyaan tentang kecepatan eksekusi dan penggunaan memori dari algoritma, struktur data, bahasa dan perpustakaan.

Apa sajakah strategi yang baik untuk meningkatkan kinerja serial kode saya?
Saya bekerja dalam ilmu komputasi, dan sebagai hasilnya, saya menghabiskan banyak waktu untuk mencoba meningkatkan throughput ilmiah banyak kode, serta memahami efisiensi kode-kode ini. Mari kita asumsikan saya telah mengevaluasi kinerja vs keterbacaan / penggunaan kembali / pemeliharaan tradeoff dari perangkat lunak yang saya kerjakan, dan saya telah memutuskan bahwa …

Apakah analisis algoritmik dengan penghitungan gagal sudah usang?
Dalam kursus analisis numerik saya, saya belajar untuk menganalisis efisiensi algoritma dengan menghitung jumlah operasi floating-point (jepit) yang mereka butuhkan, relatif terhadap ukuran masalah. Misalnya, dalam teks Trefethen & Bau pada Numerical Linear Algebra, bahkan ada gambar 3D yang tampak dari jumlah kegagalan. Sekarang modis untuk mengatakan bahwa "jepit gratis" …

Apa yang membuat Fortran cepat?
Fortran memiliki tempat khusus dalam pemrograman numerik. Anda tentu dapat membuat perangkat lunak yang baik dan cepat dalam bahasa lain, tetapi Fortran tetap berkinerja sangat baik meskipun usianya sudah lanjut. Selain itu, lebih mudah membuat program cepat di Fortran. Saya telah membuat program cepat di C ++, tetapi Anda harus …

Bagaimana operator backslash MATLAB memecahkan
Saya membandingkan beberapa kode saya dengan "stok" kode MATLAB. Saya terkejut dengan hasilnya. Saya menjalankan kode sampel (Matriks Jarang) n = 5000; a = diag(rand(n,1)); b = rand(n,1); disp('For a\b'); tic;a\b;toc; disp('For LU'); tic;LULU;toc; disp('For Conj Grad'); tic;conjgrad(a,b,1e-8);toc; disp('Inv(A)*B'); tic;inv(a)*b;toc; Hasil: For a\b Elapsed time is 0.052838 seconds. For LU …



Kapan saya harus menggunakan templat ekspresi C ++ dalam ilmu komputasi, dan kapan saya * tidak * menggunakannya?
Misalkan saya sedang mengerjakan kode ilmiah dalam C ++. Dalam diskusi baru-baru ini dengan seorang kolega, dikemukakan bahwa templat ekspresi bisa menjadi hal yang sangat buruk, berpotensi membuat perangkat lunak hanya dapat dikompilasi pada versi gcc tertentu. Seharusnya, masalah ini telah mempengaruhi beberapa kode ilmiah, seperti yang disinggung dalam subtitle …

Apa pendekatan yang disukai dan efisien untuk menginterpolasi data multidimensi?
Apa pendekatan yang disukai dan efisien untuk menginterpolasi data multidimensi? Hal yang saya khawatirkan: kinerja dan memori untuk konstruksi, evaluasi tunggal / batch menangani dimensi dari 1 hingga 6 linier atau tingkat tinggi kemampuan untuk mendapatkan gradien (jika tidak linier) grid biasa vs tersebar menggunakan sebagai Fungsi Interpolasi, misalnya untuk …


Bagaimana kinerja operasi array Python / Numpy skala dengan dimensi array meningkat?
Bagaimana skala array Python / Numpy dengan dimensi array yang meningkat? Ini didasarkan pada beberapa perilaku yang saya perhatikan ketika membandingkan kode Python untuk pertanyaan ini: Cara mengekspresikan ekspresi rumit ini menggunakan irisan numpy Masalahnya sebagian besar melibatkan pengindeksan untuk mengisi array. Saya menemukan bahwa keuntungan menggunakan (tidak-sangat-baik) versi Cython …

Dapatkah sistem linier simetris diagonal plus tetap diselesaikan dalam waktu kuadrat setelah perhitungan?
Apakah ada metode untuk menyelesaikan sistem linear dari bentuk mana adalah matriks SPD tetap dan adalah matriks diagonal positif?O(n3+n2k)O(n3+n2k)O(n^3+n^2 k)kkk(Di+A)xi=bi(Di+A)xi=bi(D_i + A) x_i = b_iAAADiDiD_i Misalnya, jika setiap adalah skalar, itu sudah cukup untuk menghitung SVD dari . Namun, ini rusak untuk umum karena kurangnya komutatif.DiDiD_iAAADDD Pembaruan : Jawaban sejauh …

Sejauh mana generik dan meta-pemrograman menggunakan template C ++ bermanfaat dalam ilmu komputasi?
Bahasa C ++ menyediakan pemrograman generik dan metaprogramming melalui template. Teknik-teknik ini telah menemukan jalan mereka ke banyak paket komputasi ilmiah skala besar (misalnya, MPQC , LAMMPS , CGAL , Trilinos ). Tetapi apa yang sebenarnya mereka sumbangkan dalam komputasi ilmiah dalam nilai yang melampaui bahasa non-generik, non-meta seperti C …

Praktik terbaik alokasi memori inisialisasi multicore / NUMA / inisialisasi
Ketika perhitungan terbatas bandwidth memori dilakukan dalam lingkungan memori bersama (mis. Berulir melalui OpenMP, Pthreads, atau TBB), ada dilema tentang bagaimana memastikan bahwa memori didistribusikan dengan benar di seluruh memori fisik , sehingga masing-masing thread kebanyakan mengakses memori pada sebuah bus memori "lokal". Meskipun antarmuka tidak portabel, sebagian besar sistem …


Perbandingan metode iterasi: jumlah iterasi vs waktu cpu
Saya membandingkan dua metode berulang untuk membalikkan matriks kuadrat acak. Karena matriksnya acak, setiap test case mengambil jumlah iterasi dan waktu yang berbeda yang berbeda. Pertanyaan saya adalah, di atas rata-rata waktu CPU, adalah nilai rata-rata dari iterasi yang diambil oleh kedua metode informasi yang berguna untuk membandingkan metode.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.