আমি array.arrayতালিকাগুলির চেয়ে দ্রুততর হওয়ার প্রত্যাশা করলাম , যেমন অ্যারেগুলি আনবক্সড করা আছে।
তবে, আমি নিম্নলিখিত ফলাফল পেতে:
In [1]: import array
In [2]: L = list(range(100000000))
In [3]: A = array.array('l', range(100000000))
In [4]: %timeit sum(L)
1 loop, best of 3: 667 ms per loop
In [5]: %timeit sum(A)
1 loop, best of 3: 1.41 s per loop
In [6]: %timeit sum(L)
1 loop, best of 3: 627 ms per loop
In [7]: %timeit sum(A)
1 loop, best of 3: 1.39 s per loop
এমন পার্থক্যের কারণ কী হতে পারে?
arrayপ্যাকেজটি ব্যবহার করার দরকার পড়ে এমন পরিস্থিতি আমি কখনই পারিনি । যদি আপনি উল্লেখযোগ্য পরিমাণে গণিত করতে চান তবে নম্পি হালকা গতিতে কাজ করে (অর্থাত সি), এবং সাধারণত জিনিসগুলির নির্বিকার প্রয়োগের চেয়ে ভাল sum()।
arrayপরিসংখ্যান (ASCII বাইট উপস্থাপন করে) একটি strবস্তুতে পূর্ণসংখ্যার একটি স্ট্রিং রূপান্তর করার ক্ষেত্রে খুব দ্রুত is গুইডো নিজেই কেবল অন্যান্য প্রচুর সমাধানের পরে এটি নিয়ে এসেছিলেন এবং অভিনয়টি দেখে বেশ অবাক হয়েছিলেন। যাইহোক এটিই একমাত্র জায়গা যেখানে আমি মনে করি এটি দরকারী হিসাবে দেখা। numpyঅ্যারে নিয়ে কাজ করার জন্য অনেক ভাল তবে এটি একটি তৃতীয় পক্ষের নির্ভরতা।