10
32৪-বিটের সাথে একটি 32-বিট লুপের কাউন্টার প্রতিস্থাপনের সাথে ইনটেল সিপিইউগুলিতে _mm_popcnt_u64 এর সাথে ক্রেজি পারফরম্যান্সের বিচ্যুতিগুলি প্রবর্তিত হয়
আমি popcountডেটা বৃহত অ্যারে দ্রুততম উপায় খুঁজছিলাম । আমি খুব অদ্ভুত প্রভাবের মুখোমুখি হয়েছি : লুপ ভেরিয়েবল থেকে অন্যটিতে পরিবর্তন unsignedকরছিuint64_t আমার পিসিতে 50% কর্মক্ষমতা ড্রপ করেন। বেঞ্চমার্ক #include <iostream> #include <chrono> #include <x86intrin.h> int main(int argc, char* argv[]) { using namespace std; if (argc != 2) { cerr << …