Pertanyaan yang diberi tag «assembly»

Pertanyaan pemrograman bahasa assembly (asm). PASTIKAN JUGA TAG dengan prosesor dan / atau set instruksi yang Anda gunakan, serta assembler. PERINGATAN: Untuk .NET assemblies, gunakan tag [.net-assembly] sebagai gantinya. Untuk Java ASM, gunakan tag [java-bytecode-asm].

12
Mengapa GCC tidak mengoptimalkan a * a * a * a * a * a to (a * a * a) * (a * a * a)?
Saya melakukan beberapa optimasi numerik pada aplikasi ilmiah. Satu hal yang saya perhatikan adalah bahwa GCC akan mengoptimalkan panggilan pow(a,2)dengan mengkompilasinya a*a, tetapi panggilan pow(a,6)tersebut tidak dioptimalkan dan benar-benar akan memanggil fungsi perpustakaan pow, yang sangat memperlambat kinerja. (Sebaliknya, Intel C ++ Compiler , dapat dieksekusi icc, akan menghilangkan panggilan …


10
Mengganti penghitung loop 32-bit dengan 64-bit memperkenalkan penyimpangan kinerja yang gila dengan _mm_popcnt_u64 pada CPU Intel
Saya mencari cara tercepat untuk popcountarray data yang besar. Saya mengalami efek yang sangat aneh : Mengubah variabel loop dari unsigneduntuk uint64_tmembuat kinerja turun 50% pada PC saya. Tolok Ukur #include <iostream> #include <chrono> #include <x86intrin.h> int main(int argc, char* argv[]) { using namespace std; if (argc != 2) { …




30
Kapan perakitan lebih cepat dari C?
Salah satu alasan yang dinyatakan untuk mengetahui assembler adalah bahwa, kadang-kadang, dapat digunakan untuk menulis kode yang akan lebih berkinerja daripada menulis kode itu dalam bahasa tingkat yang lebih tinggi, khususnya C. Namun, saya juga pernah mendengarnya menyatakan berkali-kali bahwa meskipun itu tidak sepenuhnya salah, kasus-kasus di mana assembler sebenarnya …
475 c  performance  assembly 


4
Mengapa Java mengaktifkan ints yang berdekatan terlihat berjalan lebih cepat dengan case yang ditambahkan?
Saya sedang mengerjakan beberapa kode Java yang perlu sangat dioptimalkan karena akan berjalan di fungsi panas yang dipanggil di banyak titik dalam logika program utama saya. Bagian dari kode ini melibatkan mengalikan doublevariabel dengan 10menaikkan ke non-negatif int exponents sembarang . Salah satu cara cepat (edit: tapi bukan yang tercepat …

10
Menggunakan GCC untuk menghasilkan perakitan yang dapat dibaca?
Saya bertanya-tanya bagaimana cara menggunakan GCC pada file sumber C saya untuk membuang versi mnemonik dari kode mesin sehingga saya bisa melihat kode apa yang sedang dikompilasi. Anda dapat melakukan ini dengan Java tetapi saya belum dapat menemukan cara dengan GCC. Saya mencoba untuk menulis ulang metode C dalam perakitan …
256 c  gcc  assembly 

3
Apa itu retpoline dan bagaimana cara kerjanya?
Untuk memitigasi terhadap pengungkapan memori kernel atau lintas-proses ( serangan Specter ), kernel Linux 1 akan dikompilasi dengan opsi baru , -mindirect-branch=thunk-externdiperkenalkan gccuntuk melakukan panggilan tidak langsung melalui apa yang disebut retpoline . Tampaknya ini adalah istilah yang baru ditemukan karena pencarian Google hanya muncul pada penggunaan yang sangat baru …

10
Seperti apa tampilan bahasa rakitan multicore?
Sekali waktu, untuk menulis assembler x86, misalnya, Anda akan mendapatkan instruksi yang menyatakan "muat register EDX dengan nilai 5", "tambah register EDX", dll. Dengan CPU modern yang memiliki 4 core (atau bahkan lebih), pada level kode mesin apakah hanya terlihat seperti ada 4 CPU terpisah (yaitu apakah hanya ada 4 …
243 assembly  x86  cpu  multicore  smp 

12
Apakah 'beralih' lebih cepat dari 'jika'?
Apakah switchpernyataan sebenarnya lebih cepat dari ifpernyataan? Saya menjalankan kode di bawah ini di kompilasi Visual Studio 2010 x64 C ++ dengan /Oxbendera: #include <stdlib.h> #include <stdio.h> #include <time.h> #define MAX_COUNT (1 << 29) size_t counter = 0; size_t testSwitch() { clock_t start = clock(); size_t i; for (i = …



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.