أنا معجب جدًا بنتائج معيار Apple M1. إنها شريحة سريعة وفعالة حقًا في المهام اليومية المهمة مثل تصفح الويب والعمل مع تطبيقات x86 وأدوات المطور. نعم ، لا يزال النظام البيئي متخلفًا وقد يستغرق بعض الوقت ، لكن العمل يستحق ذلك جيدًا نظرًا للأداء الهائل لـ M1.
M1 سريع حقًا وقد أثبتت العديد من المعايير فعاليته. ومع ذلك ، كنت أشعر بالفضول لرؤية أداء لغات البرمجة. لذلك قررت اختبار الشريحة في أكثر أحمال عمل التطوير شيوعًا.
ضع في اعتبارك أن بعض مجموعات الاختبار تستهلك الكثير من الذاكرة ، والبعض الآخر يعتمد على أداء وحدة المعالجة المركزية ، وبعض المهام لا تستفيد من المعالجة متعددة النواة بسبب زيادة أو تعقيد استخدام خيوط المعالجة المتعددة. هذا يعني أن M1 يمكنه أداء أفضل من سطح المكتب Ryzen مع عدد نوى أقل. الأهم من ذلك ، أنني ركزت على اختبار مشاكل التنمية في العالم الحقيقي ، وليس اختبارات الإنتاج الاصطناعية.
البيانات الأولية المعيارية هنا .
ملاحظة: العدد الأساسي 3900X غير مجدي للمعايير التي لا تظهر الأداء الفعلي في الإنتاج. لكن المطورين أنفسهم يعملون معظم الوقت على أجهزة الكمبيوتر المحمولة وأجهزة الكمبيوتر المكتبية وما إلى ذلك ، لذا فإن مثل هذه الاختبارات منطقية. بالطبع ، سيكون أداء Ryzen 3900X أفضل بكثير في الإنتاج من M1 و Intel ، ويرجع ذلك أساسًا إلى التوازي.
بيئة الاختبار
- Apple M1: Mac Mini (16 غيغابايت من ذاكرة الوصول العشوائي) ، MacBook Air (8 غيغابايت من ذاكرة الوصول العشوائي) / macOS Big Sur 11.0.1 (تم تجميع جميع الثنائيات المعيارية محليًا لشرائح Apple).
- Ryzen 3900X: ASRock Rack X570D4I-2T / 16GB DDR4-3200 × 2 / Ubuntu 20.04.1 LTS ( ) — , 3900X Ryzen 5000: . , .
- Intel i7-9750H: MacBook Pro 16" / 16 / macOS Big Sur 11.0.1
- Intel i9-9880H: MacBook Pro 16" / 32 / macOS Big Sur 11.0.1
Java Renaissance
Less is Better
Renaissance عبارة عن مجموعة اختبارات JVM حديثة ومفتوحة ومتنوعة تهدف إلى اختبار مترجمي JIT ، ومجمعي القمامة ، والملفات التعريفية ، والمحللات ، والأدوات الأخرى.
نظرًا لأن JVM تتطلب الكثير من الذاكرة ، والذاكرة هي واحدة من الاختناقات الرئيسية لأي تطبيق Java ، فإن أداء Apple M1 مذهل مقارنةً بـ Ryzen 3900X.
Java SciMark 2.0 (NIST)
More is Better
SciMark 2.0 هو معيار جافا للحوسبة العلمية والرقمية. أنه يقيس أداء متعددة النوى وتقارير تقدير ملخص في ميجافلوب التقريبية (بملايين عملية نقطة عائمة في الثانية الواحدة).
جافا دكابو
أصغر ، كلما كانت
مجموعة الاختبار DaCapo تتكون بشكل أفضل من مجموعة من التطبيقات الواقعية التي تفتح الاستخدام غير التافه للذاكرة.
Python PyPerformance
الأقل هو الأفضل
يجب أن يعمل مشروع PyPerformance كمصدر مرجعي موثوق لجميع تطبيقات Python. ينصب التركيز على المعايير الحقيقية ، وليس المعايير الاصطناعية. يتم استخدام التطبيقات الكاملة حيثما أمكن ذلك.
اذهب (golang.org/x/benchmarks)
الأقل هو الأفضل
لاحظ أنه في هذا المعيار ، يستخدم Go جميع النوى.
الذهاب ( مقاييس جولانج )
(وحدات القياس: نانوثانية لكل عملية ، الأقل هو الأفضل)
| Apple M1 (Mac Mini) | Apple M1 (MacBook Air) | Ryzen 3900X | انتل i7-9750H | |
|---|---|---|---|---|
| BenchmarkBase64decode-24 | 68,65 | 69,77 | 137,1 | 103 |
| BenchmarkBase64regex-24 | 12001 | 12001 | 32803 | 18255 |
| BenchmarkNumberRegEx-24 | 7759 | 7931 | 23379 | 12206 |
| BenchmarkFulltextRegEx-24 | 6388 | 6388 | 18627 | 10014 |
| BenchmarkNumberParse-24 | 48,69 | 50,19 | 66,83 | 58 |
| BenchmarkFulltextParse-24 | 726,3 | 726,3 | 933,2 | 839 |
| BenchmarkConcatString-24 | 21949 | 22810 | 65498 | 43343 |
| BenchmarkConcatBuffer-24 | 4,338 | 4,648 | 6,258 | 6,24 |
| BenchmarkConcatBuilder-24 | 2,37 | 3,1 | 2,934 | 3,02 |
| BenchmarkContains-24 | 5,007 | 5,204 | 7,467 | 7,94 |
| BenchmarkContainsNot-24 | 6,322 | 6,322 | 7,693 | 8,9 |
| BenchmarkContainsBytes-24 | 5,33 | 5,511 | 7,5 | 8,49 |
| BenchmarkContainsBytesNot-24 | 6,57 | 6,773 | 9,188 | 10,3 |
| BenchmarkCompileMatch-24 | 70,66 | 75,09 | 110,1 | 83 |
| BenchmarkCompileMatchNot-24 | 31,65 | 32,08 | 62,42 | 42,1 |
| BenchmarkMatch-24 | 800,2 | 804,6 | 2376 | 1313 |
| BenchmarkMatchNot-24 | 758,1 | 779,3 | 2311 | 1262 |
| BenchmarkForMap-24 | 18,89 | 18,92 | 20,37 | 20,6 |
| BenchmarkRangeMap-24 | 47,66 | 48,59 | 53,25 | 56,7 |
| BenchmarkRangeSlice-24 | 3,446 | 3,47 | 2,022 | 3,4 |
| BenchmarkRangeSliceKey-24 | 4,072 | 4,121 | 2,906 | 3,15 |
| BenchmarkAdler32-24 | 699 | 719,4 | 644,4 | 700 |
| BenchmarkBlake2b256-24 | 2340 | 2415 | 2026 | 1932 |
| BenchmarkBlake2b512-24 | 2343 | 2400 | 1985 | 1945 |
| BenchmarkBlake3256-24 | 5753 | 5854 | 2489 | 2634 |
| BenchmarkMMH3-24 | 374,3 | 383,2 | 294 | 377 |
| BenchmarkCRC32-24 | 255,5 | 260,4 | 152,9 | 122 |
| BenchmarkFnv128-24 | 4468 | 4502 | 5540 | 4210 |
| BenchmarkMD5-24 | 3193 | 3211 | 2464 | 2534 |
| BenchmarkSHA1-24 | 900,4 | 910,9 | 1898 | 1961 |
| BenchmarkSHA256-24 | 913,5 | 927,6 | 4016 | 4525 |
| BenchmarkSHA512-24 | 6999 | 7033 | 2883 | 3249 |
| BenchmarkSHA3256-24 | 4213 | 4231 | 5957 | 5878 |
| BenchmarkSHA3512-24 | 7329 | 7429 | 10233 | 10394 |
| BenchmarkWhirlpool-24 | 32042 | 32624 | 35714 | 39205 |
| BenchmarkMapStringKeys-24 | 68,14 | 70,66 | 87,62 | 100 |
| BenchmarkMapIntKeys-24 | 43,6 | 48,49 | 42,51 | 60 |
| BenchmarkJsonMarshal-24 | 1240 | 1261 | 2258 | 1720 |
| BenchmarkJsonUnmarshal-24 | 4969 | 5102 | 9597 | 6484 |
| BenchmarkMathInt8-24 | 0,3128 | 0,3235 | 0,2298 | 0,24 |
| BenchmarkMathInt32-24 | 0,3145 | 0,3166 | 0,2324 | 0,239 |
| BenchmarkMathInt64-24 | 0,3131 | 0,3158 | 0,2367 | 0,237 |
| BenchmarkMathAtomicInt32-24 | 6,9 | 6,965 | 4,02 | 4,33 |
| BenchmarkMathAtomicInt64-24 | 6898 | 7.051 | 4044 | 4.27 |
| BenchmarkMathMutexInt-24 | 13.51 | 13.63 | 8.118 | 12.1 |
| BenchmarkMathFloat32-24 | 0.3142 | 0.3142 | 0.3142 | 0.241 |
| BenchmarkMathFloat64-24 | 0.313 | 0.313 | 0.313 | 0.239 |
| المعيار ParseBool-24 | 1427 | 1.43 | 0.2252 | 0.308 |
| المعيار النقطي إنت -24 | 10.97 | 11.15 | 11.84 | 13.5 |
| المعيار القياسي ParseFloat-24 | 64.52 | 65.74 | 90.89 | 87 |
| BenchmarkMathRand-24 | 13.55 | 13.55 | 17.27 | 21.5 |
| BenchmarkCryptoRand-24 | 106.6 | 112 | 1311 | 145 |
| BenchmarkCryptoRandString-24 | 107.6 | 110.7 | 222 | 138 |
| BenchmarkMatchString-24 | 4957 | 5148 | 13869 | 7616 |
| BenchmarkMatchStringCompiled-24 | 475.5 | 496.2 | 499.2 | 464 |
| BenchmarkMatchStringGolibs-24 | 479.3 | 496.3 | 491.3 | 480 |
مقعد سكليتي
اقل هو الافضل
ريديس
كلما كان ذلك أفضل
JavaScript Web Tooling Benchmark (v8)
Bigger is Better
V8 Web Tooling Benchmark عبارة عن مجموعة من المعايير لقياس أحمال عمل JavaScript في تطوير الويب ، مثل أحمال العمل الأساسية في الأدوات الشائعة مثل Babel و TypeScript. الهدف هو قياس أداء JavaScript على وجه التحديد (الذي يتأثر بمحرك JavaScript) ، وليس I / O أو جوانب أخرى غير ذات صلة.
للحصول على وصف تفصيلي للاختبارات في هذا الجناح ، انظر هنا .
JavaScript Octane 2.0.1 تحديث
كلما كان ذلك أفضل
Webpack Build
الأقل هو الأفضل
مشروع بناء الهدف: antd-admin .
استنتاج
أداء شريحة Apple M1 رائع للغاية. في المهام الحقيقية ، يعمل بشكل أفضل من x86 الحالي.