បិទការផ្សាយពាណិជ្ជកម្ម

លោក Mike Ash ឧទ្ទិសដល់ប្លក់របស់គាត់។ ផលប៉ះពាល់ជាក់ស្តែងនៃការប្តូរទៅស្ថាបត្យកម្ម 64 ប៊ីតនៅក្នុង iPhone 5S ។ អត្ថបទនេះទាញការរកឃើញរបស់គាត់។

ហេតុផលសម្រាប់អត្ថបទនេះគឺដោយសារតែចំនួនដ៏ធំនៃព័ត៌មានមិនពិតដែលត្រូវបានផ្សព្វផ្សាយអំពីអ្វីដែលទូរស័ព្ទ iPhone 5s ថ្មីជាមួយនឹងប្រព័ន្ធដំណើរការ ARM 64-bit ពិតជាមានន័យសម្រាប់អ្នកប្រើប្រាស់ និងទីផ្សារ។ នៅទីនេះ យើងនឹងព្យាយាមនាំយកព័ត៌មានគោលបំណងអំពីការអនុវត្ត សមត្ថភាព និងផលប៉ះពាល់នៃការផ្លាស់ប្តូរនេះសម្រាប់អ្នកអភិវឌ្ឍន៍។

"64 ប៊ីត"

មានផ្នែកពីរនៃខួរក្បាលដែលស្លាក "X-bit" អាចយោងទៅ - ទទឹងនៃចំនួនគត់ចុះឈ្មោះ និងទទឹងនៃទ្រនិច។ ជាសំណាងល្អនៅលើប្រព័ន្ធដំណើរការទំនើបភាគច្រើនទទឹងទាំងនេះគឺដូចគ្នា ដូច្នេះក្នុងករណី A7 នេះមានន័យថាការចុះឈ្មោះចំនួនគត់ 64 ប៊ីត និងទ្រនិច 64 ប៊ីត។

ទោះយ៉ាងណាក៏ដោយ វាមានសារៈសំខាន់ដូចគ្នាក្នុងការចង្អុលបង្ហាញថា "64bit" មិនមានន័យអ្វី: ទំហំអាសយដ្ឋានរូបវន្ត RAM. ចំនួនប៊ីតសម្រាប់ទំនាក់ទំនងជាមួយ RAM (ដូច្នេះចំនួន RAM ដែលឧបករណ៍អាចគាំទ្របាន) មិនទាក់ទងនឹងចំនួនប៊ីតស៊ីភីយូទេ។ ប្រព័ន្ធដំណើរការ ARM មានកន្លែងណាមួយរវាងអាសយដ្ឋាន 26 និង 40 ប៊ីត ហើយអាចត្រូវបានផ្លាស់ប្តូរដោយឯករាជ្យពីប្រព័ន្ធដែលនៅសល់។

  • ទំហំឡានក្រុងទិន្នន័យ. ចំនួនទិន្នន័យដែលទទួលបានពី RAM ឬសតិបណ្ដោះអាសន្នគឺស្រដៀងគ្នាដោយឯករាជ្យនៃកត្តានេះ។ ការណែនាំអំពីដំណើរការបុគ្គលអាចស្នើសុំចំនួនទិន្នន័យខុសៗគ្នា ប៉ុន្តែពួកគេត្រូវបានផ្ញើជាកំណាត់ៗ ឬទទួលបានច្រើនជាងតម្រូវការពីអង្គចងចាំ។ វាអាស្រ័យលើទំហំនៃទិន្នន័យ quantum ។ ទូរស័ព្ទ iPhone 5 បានទទួលទិន្នន័យពីអង្គចងចាំរួចហើយនៅក្នុង 64-bit quanta (និងមានខួរក្បាល 32-bit) ហើយយើងអាចជួបប្រទះទំហំរហូតដល់ 192 ប៊ីត។
  • អ្វីក៏ដោយដែលទាក់ទងនឹងចំណុចអណ្តែត. ទំហំនៃការចុះឈ្មោះបែបនេះ (FPU) ជាថ្មីម្តងទៀតគឺឯករាជ្យនៃដំណើរការខាងក្នុងរបស់ខួរក្បាល។ ARM បានប្រើប្រាស់ FPU 64-bit តាំងពីមុន ARM64 (64-bit ARM processor)។

គុណសម្បត្តិ និងគុណវិបត្តិទូទៅ

ប្រសិនបើយើងប្រៀបធៀបស្ថាបត្យកម្ម 32bit និង 64bit ដែលដូចគ្នាបេះបិទ នោះជាទូទៅវាមិនខុសគ្នានោះទេ។ នេះគឺជាហេតុផលមួយក្នុងចំណោមហេតុផលសម្រាប់ការភ័ន្តច្រឡំរបស់សាធារណជនដែលកំពុងស្វែងរកមូលហេតុដែល Apple កំពុងផ្លាស់ប្តូរទៅ 64bit នៅក្នុងឧបករណ៍ចល័តផងដែរ។ ទោះជាយ៉ាងណាក៏ដោយ វាទាំងអស់បានមកពីប៉ារ៉ាម៉ែត្រជាក់លាក់នៃខួរក្បាល A7 (ARM64) និងរបៀបដែល Apple ប្រើវា មិនត្រឹមតែមកពីការពិតដែលថាខួរក្បាលមានស្ថាបត្យកម្ម 64 ប៊ីតនោះទេ។

ទោះយ៉ាងណាក៏ដោយ ប្រសិនបើយើងនៅតែពិនិត្យមើលភាពខុសប្លែកគ្នារវាងស្ថាបត្យកម្មទាំងពីរនេះ យើងនឹងរកឃើញភាពខុសគ្នាជាច្រើន។ ជាក់ស្តែងគឺថាការចុះឈ្មោះចំនួនគត់ 64 ប៊ីតអាចគ្រប់គ្រងចំនួនគត់ 64 ប៊ីតកាន់តែមានប្រសិទ្ធភាព។ សូម្បីតែពីមុន វាអាចធ្វើការជាមួយពួកគេនៅលើប្រព័ន្ធដំណើរការ 32 ប៊ីត ប៉ុន្តែនេះជាធម្មតាមានន័យថាការបែងចែកពួកវាទៅជាបំណែកវែង 32 ប៊ីត ដែលបណ្តាលឱ្យមានការគណនាយឺតជាង។ ដូច្នេះ ខួរក្បាល 64-bit ជាទូទៅអាចគណនាជាមួយប្រភេទ 64-bit បានលឿនដូចទៅនឹង 32-bit ដែរ។ នេះមានន័យថាកម្មវិធីដែលជាទូទៅប្រើប្រភេទ 64-bit អាចដំណើរការបានលឿនជាងនៅលើ processor 64-bit។

ទោះបីជា 64bit មិនប៉ះពាល់ដល់ចំនួន RAM សរុបដែលខួរក្បាលអាចប្រើប្រាស់បានក៏ដោយ វាអាចធ្វើឱ្យវាកាន់តែងាយស្រួលក្នុងការធ្វើការជាមួយ RAM ជាច្រើននៅក្នុងកម្មវិធីមួយ។ កម្មវិធីតែមួយដែលដំណើរការលើប្រព័ន្ធដំណើរការ 32-bit មានទំហំអាសយដ្ឋានត្រឹមតែ 4 GB ប៉ុណ្ណោះ។ ដោយគិតពីប្រព័ន្ធប្រតិបត្តិការ និងបណ្ណាល័យស្ដង់ដារយកអ្វីមួយ វាទុកកម្មវិធីនេះឱ្យនៅចន្លោះ 1-3 GB សម្រាប់ការប្រើប្រាស់កម្មវិធី។ ទោះយ៉ាងណាក៏ដោយ ប្រសិនបើប្រព័ន្ធ 32 ប៊ីតមាន RAM លើសពី 4 GB ការប្រើអង្គចងចាំនោះមានភាពស្មុគស្មាញបន្តិច។ យើងត្រូវងាកទៅរកការបង្ខំឱ្យប្រព័ន្ធប្រតិបត្តិការធ្វើផែនទីនៃអង្គចងចាំធំ ៗ ទាំងនេះសម្រាប់កម្មវិធីរបស់យើង (សតិនិម្មិត) ឬយើងអាចបំបែកកម្មវិធីទៅជាដំណើរការជាច្រើន (ដែលដំណើរការនីមួយៗតាមទ្រឹស្ដីមានអង្គចងចាំ 4 GB សម្រាប់អាសយដ្ឋានផ្ទាល់)។

ទោះយ៉ាងណាក៏ដោយ "ការលួច" ទាំងនេះគឺពិបាកនិងយឺតណាស់ដែលកម្មវិធីអប្បបរមាប្រើវា។ នៅក្នុងការអនុវត្តជាក់ស្តែង នៅលើប្រព័ន្ធដំណើរការ 32 ប៊ីត កម្មវិធីនីមួយៗនឹងប្រើតែអង្គចងចាំ 1-3 GB របស់វាប៉ុណ្ណោះ ហើយ RAM ដែលអាចប្រើបានច្រើនជាងនេះអាចត្រូវបានប្រើដើម្បីដំណើរការកម្មវិធីជាច្រើនក្នុងពេលតែមួយ ឬប្រើអង្គចងចាំនេះជាសតិបណ្ដោះអាសន្ន (ឃ្លាំងសម្ងាត់)។ ការប្រើប្រាស់ទាំងនេះគឺអាចអនុវត្តបាន ប៉ុន្តែយើងចង់ឱ្យកម្មវិធីណាមួយអាចប្រើប្រាស់អង្គចងចាំធំជាង 4GB បានយ៉ាងងាយស្រួល។

ឥឡូវនេះយើងមកជាញឹកញាប់ (ពិតជាមិនត្រឹមត្រូវ) អះអាងថាដោយគ្មានអង្គចងចាំលើសពី 4GB ស្ថាបត្យកម្ម 64 ប៊ីតគឺគ្មានប្រយោជន៍ទេ។ ទំហំអាសយដ្ឋានធំជាងនេះមានប្រយោជន៍ សូម្បីតែនៅលើប្រព័ន្ធដែលមានអង្គចងចាំតិចក៏ដោយ។ ឯកសារដែលបានគូសផែនទីអង្គចងចាំគឺជាឧបករណ៍ងាយស្រួលដែលផ្នែកនៃមាតិការបស់ឯកសារត្រូវបានភ្ជាប់យ៉ាងឡូជីខលទៅអង្គចងចាំរបស់ដំណើរការដោយមិនចាំបាច់ផ្ទុកឯកសារទាំងមូលទៅក្នុងអង្គចងចាំនោះទេ។ ដូច្នេះ ជាឧទាហរណ៍ ប្រព័ន្ធអាចដំណើរការឯកសារធំៗបន្តិចម្តងៗ ដែលមានទំហំធំជាងទំហំ RAM ច្រើនដង។ នៅលើប្រព័ន្ធ 32 ប៊ីត ឯកសារធំបែបនេះមិនអាចត្រូវបានកំណត់ដោយអង្គចងចាំដែលអាចទុកចិត្តបានទេ ចំណែកឯនៅលើប្រព័ន្ធ 64 ប៊ីត វាជានំមួយដុំ ដោយសារទំហំអាសយដ្ឋានធំជាងនេះ។

ទោះជាយ៉ាងណាក៏ដោយ ទំហំទ្រនិចធំជាងនេះក៏នាំមកនូវគុណវិបត្តិដ៏ធំមួយផងដែរ៖ បើមិនដូច្នេះទេ កម្មវិធីដូចគ្នាបេះបិទ ត្រូវការអង្គចងចាំបន្ថែមនៅលើខួរក្បាល 64 ប៊ីត (ទ្រនិចធំជាងនេះត្រូវរក្សាទុកនៅកន្លែងណាមួយ)។ ដោយសារទ្រនិចគឺជាផ្នែកញឹកញាប់នៃកម្មវិធី ភាពខុសគ្នានេះអាចផ្ទុកបន្ទុកលើឃ្លាំងសម្ងាត់ ដែលនាំឱ្យប្រព័ន្ធទាំងមូលដំណើរការយឺតជាង។ ដូច្នេះតាមទស្សនៈ យើងអាចមើលឃើញថា ប្រសិនបើយើងគ្រាន់តែផ្លាស់ប្តូរស្ថាបត្យកម្មខួរក្បាលទៅជា 64-bit នោះវាពិតជាធ្វើឱ្យប្រព័ន្ធទាំងមូលដំណើរការយឺត។ ដូច្នេះកត្តានេះត្រូវតែមានតុល្យភាពដោយការបង្កើនប្រសិទ្ធភាពបន្ថែមទៀតនៅកន្លែងផ្សេងទៀត។

ARM64 ។

A7 ដែលជាប្រព័ន្ធដំណើរការ 64-bit ដំណើរការលើ iPhone 5s ថ្មី មិនមែនគ្រាន់តែជាប្រព័ន្ធដំណើរការ ARM ធម្មតាជាមួយនឹងការចុះឈ្មោះកាន់តែទូលំទូលាយនោះទេ។ ARM64 មានការកែលម្អធំជាងកំណែ 32 ប៊ីតចាស់។

ប្រព័ន្ធដំណើរការ Apple A7 ។

ចុះបញ្ជី

ARM64 ទទួលការចុះឈ្មោះចំនួនគត់ពីរដងដូច ARM 32-ប៊ីត (ប្រយ័ត្នកុំច្រឡំចំនួន និងទទឹងនៃការចុះឈ្មោះ - យើងបាននិយាយអំពីទទឹងនៅក្នុងផ្នែក "64-bit"។ ដូច្នេះ ARM64 មានទាំងការចុះឈ្មោះធំទូលាយពីរដង និងពីរដងច្រើនជាង ចុះឈ្មោះ) ។ ARM 32-bit មានការចុះឈ្មោះចំនួនគត់ចំនួន 16៖ កម្មវិធីរាប់ចំនួនមួយ (PC - មានលេខនៃការណែនាំបច្ចុប្បន្ន) ទ្រនិចជង់ (ទ្រនិចទៅមុខងារដែលកំពុងដំណើរការ) តំណចុះឈ្មោះ (ទ្រនិចទៅការត្រឡប់មកវិញបន្ទាប់ពីបញ្ចប់ នៃមុខងារ) ហើយ 13 ដែលនៅសល់គឺសម្រាប់ការប្រើប្រាស់កម្មវិធី។ ទោះជាយ៉ាងណាក៏ដោយ ARM64 មានការចុះឈ្មោះចំនួនគត់ចំនួន 32 រួមទាំងការចុះឈ្មោះសូន្យមួយ ការចុះឈ្មោះតំណ ទ្រនិចស៊ុម (ស្រដៀងទៅនឹងទ្រនិចជង់) និងមួយត្រូវបានបម្រុងទុកសម្រាប់ពេលអនាគត។ នេះទុកឱ្យយើងជាមួយនឹងការចុះឈ្មោះចំនួន 28 សម្រាប់ការប្រើប្រាស់កម្មវិធី ដែលច្រើនជាងទ្វេដងនៃ 32-bit ARM ។ ក្នុងពេលជាមួយគ្នានោះ ARM64 បានបង្កើនទ្វេដងចំនួននៃការចុះឈ្មោះចំនួនអណ្តែតទឹក (FPU) ពី 16 ទៅ 32 ការចុះឈ្មោះ 128 ប៊ីត។

ប៉ុន្តែហេតុអ្វីបានជាចំនួននៃការចុះឈ្មោះមានសារៈសំខាន់ដូច្នេះ? អង្គចងចាំជាទូទៅយឺតជាងការគណនា CPU ហើយការអាន/សរសេរអាចចំណាយពេលយូរណាស់។ នេះនឹងធ្វើឱ្យខួរក្បាលដំណើរការលឿនត្រូវរង់ចាំអង្គចងចាំ ហើយយើងនឹងឈានដល់ដែនកំណត់ល្បឿនធម្មជាតិនៃប្រព័ន្ធ។ អ្នកដំណើរការព្យាយាមលាក់ពិការភាពនេះជាមួយនឹងស្រទាប់នៃសតិបណ្ដោះអាសន្ន ប៉ុន្តែសូម្បីតែល្បឿនលឿនបំផុត (L1) នៅតែយឺតជាងការគណនារបស់ខួរក្បាល។ ទោះយ៉ាងណាក៏ដោយ ការចុះឈ្មោះគឺជាកោសិកាអង្គចងចាំដោយផ្ទាល់នៅក្នុងខួរក្បាល ហើយការអាន/សរសេររបស់ពួកគេមានល្បឿនលឿនគ្រប់គ្រាន់ដើម្បីកុំឱ្យដំណើរការដំណើរការយឺត។ ចំនួននៃការចុះឈ្មោះអនុវត្តមានន័យថាចំនួននៃអង្គចងចាំលឿនបំផុតសម្រាប់ការគណនាខួរក្បាលដែលជះឥទ្ធិពលយ៉ាងខ្លាំងដល់ល្បឿននៃប្រព័ន្ធទាំងមូល។

ក្នុងពេលជាមួយគ្នា ល្បឿននេះត្រូវការការគាំទ្រការបង្កើនប្រសិទ្ធភាពល្អពីអ្នកចងក្រង ដូច្នេះភាសាអាចប្រើការចុះឈ្មោះទាំងនេះ ហើយមិនចាំបាច់រក្សាទុកអ្វីគ្រប់យ៉ាងនៅក្នុងកម្មវិធីទូទៅ (យឺត) សតិនោះទេ។

សំណុំការណែនាំ

ARM64 ក៏នាំមកនូវការផ្លាស់ប្តូរសំខាន់ៗចំពោះសំណុំការណែនាំផងដែរ។ សំណុំការណែនាំគឺជាសំណុំនៃប្រតិបត្តិការអាតូមិកដែលខួរក្បាលអាចអនុវត្តបាន (ឧទាហរណ៍ 'បន្ថែមចុះឈ្មោះ1 register2' បន្ថែមលេខក្នុងបញ្ជីពីរ)។ មុខងារដែលមានសម្រាប់ភាសានីមួយៗត្រូវបានផ្សំឡើងដោយការណែនាំទាំងនេះ។ មុខងារស្មុគ្រស្មាញកាន់តែច្រើនត្រូវតែអនុវត្តការណែនាំបន្ថែមទៀត ដូច្នេះពួកគេអាចយឺតជាង។

ថ្មីនៅក្នុង ARM64 គឺជាការណែនាំសម្រាប់ការអ៊ិនគ្រីប AES មុខងារ SHA-1 និង SHA-256 ។ ដូច្នេះជំនួសឱ្យការអនុវត្តស្មុគ្រស្មាញ មានតែភាសាប៉ុណ្ណោះដែលនឹងហៅការណែនាំនេះ - ដែលនឹងនាំមកនូវការបង្កើនល្បឿនដ៏ធំដល់ការគណនានៃមុខងារបែបនេះ ហើយសង្ឃឹមថានឹងបន្ថែមសុវត្ថិភាពនៅក្នុងកម្មវិធី។ ឧ. Touch ID ថ្មីក៏ប្រើការណែនាំទាំងនេះក្នុងការអ៊ិនគ្រីបផងដែរ ដែលអនុញ្ញាតឱ្យមានល្បឿន និងសុវត្ថិភាពពិតប្រាកដ (តាមទ្រឹស្តី អ្នកវាយប្រហារនឹងត្រូវកែប្រែ processor ខ្លួនវាដើម្បីចូលប្រើទិន្នន័យ - វាមិនសមហេតុផលក្នុងការនិយាយថាទំហំតូចបំផុតរបស់វា)។

ភាពឆបគ្នាជាមួយ 32 ប៊ីត

វាជាការសំខាន់ក្នុងការនិយាយថា A7 អាចដំណើរការយ៉ាងពេញលេញនៅក្នុងរបៀប 32 ប៊ីតដោយមិនចាំបាច់មានកម្មវិធីត្រាប់តាម។ វាមានន័យថា iPhone 5s ថ្មីអាចដំណើរការកម្មវិធីដែលចងក្រងនៅលើ 32-bit ARM ដោយមិនមានការយឺតយ៉ាវណាមួយឡើយ។ ទោះជាយ៉ាងណាក៏ដោយ បន្ទាប់មកវាមិនអាចប្រើមុខងារ ARM64 ថ្មីបានទេ ដូច្នេះវាតែងតែមានប្រយោជន៍ក្នុងការបង្កើតការស្ថាបនាពិសេសសម្រាប់ A7 ដែលគួរតែដំណើរការលឿនជាងមុន។

ការផ្លាស់ប្តូរពេលវេលាដំណើរការ

Runtime គឺជាកូដដែលបន្ថែមមុខងារទៅភាសាសរសេរកម្មវិធី ដែលវាអាចប្រើបានខណៈពេលដែលកម្មវិធីកំពុងដំណើរការ រហូតដល់បន្ទាប់ពីការបកប្រែ។ ដោយសារ Apple មិនចាំបាច់រក្សាភាពត្រូវគ្នានៃកម្មវិធី (ដែលប្រព័ន្ធគោលពីរ 64 ប៊ីតដំណើរការលើ 32 ប៊ីត) ពួកគេអាចមានលទ្ធភាពធ្វើការកែលម្អមួយចំនួនបន្ថែមទៀតចំពោះភាសា Objective-C ។

មួយក្នុងចំណោមពួកគេគឺជាអ្វីដែលគេហៅថា ទ្រនិចដាក់ស្លាក (សញ្ញាសម្គាល់) ។ ជាធម្មតា វត្ថុ និងចង្អុលទៅវត្ថុទាំងនោះត្រូវបានរក្សាទុកក្នុងផ្នែកដាច់ដោយឡែកនៃអង្គចងចាំ។ ទោះជាយ៉ាងណាក៏ដោយ ប្រភេទទ្រនិចថ្មីអនុញ្ញាតឱ្យថ្នាក់ដែលមានទិន្នន័យតិចតួចរក្សាទុកវត្ថុដោយផ្ទាល់នៅក្នុងទ្រនិច។ ជំហាននេះលុបបំបាត់តម្រូវការក្នុងការបែងចែកអង្គចងចាំដោយផ្ទាល់សម្រាប់វត្ថុ ដោយគ្រាន់តែបង្កើតទ្រនិច និងវត្ថុនៅខាងក្នុងវា។ ទ្រនិចដែលបានដាក់ស្លាកត្រូវបានគាំទ្រតែនៅក្នុងស្ថាបត្យកម្ម 64 ប៊ីតផងដែរ ដោយសារតែការពិតដែលថាមិនមានកន្លែងទំនេរគ្រប់គ្រាន់នៅក្នុងទ្រនិច 32 ប៊ីតដើម្បីរក្សាទុកទិន្នន័យមានប្រយោជន៍គ្រប់គ្រាន់។ ដូច្នេះហើយ iOS មិនដូច OS X មិនទាន់គាំទ្រមុខងារនេះនៅឡើយ។ ទោះយ៉ាងណាក៏ដោយ ជាមួយនឹងការមកដល់នៃ ARM64 នេះកំពុងផ្លាស់ប្តូរ ហើយប្រព័ន្ធប្រតិបត្តិការ iOS ក៏ចាប់បាន OS X ក្នុងរឿងនេះផងដែរ។

ទោះបីជាទ្រនិចមានប្រវែង 64 ប៊ីតក៏ដោយ ប៉ុន្តែនៅលើ ARM64 មានតែ 33 ប៊ីតប៉ុណ្ណោះដែលត្រូវបានប្រើសម្រាប់អាសយដ្ឋានផ្ទាល់របស់ទ្រនិច។ ហើយប្រសិនបើយើងអាចដោះរបាំងទ្រនិចដែលនៅសេសសល់ដោយភាពជឿជាក់ យើងអាចប្រើចន្លោះនេះដើម្បីរក្សាទុកទិន្នន័យបន្ថែម ដូចនៅក្នុងករណីនៃទ្រនិចដែលបានដាក់ស្លាកដែលបានលើកឡើង។ តាមគំនិតនេះគឺជាការផ្លាស់ប្តូរដ៏ធំបំផុតមួយនៅក្នុងប្រវត្តិសាស្រ្តនៃ Objective-C ទោះបីជាវាមិនមែនជាលក្ខណៈពិសេសដែលអាចទីផ្សារបានក៏ដោយ ដូច្នេះអ្នកប្រើប្រាស់ភាគច្រើននឹងមិនដឹងថា Apple កំពុងផ្លាស់ប្តូរ Objective-C ទៅមុខយ៉ាងដូចម្តេចនោះទេ។

សម្រាប់ទិន្នន័យដែលមានប្រយោជន៍ដែលអាចត្រូវបានរក្សាទុកក្នុងចន្លោះដែលនៅសល់នៃទ្រនិចដែលមានស្លាកនោះ វត្ថុបំណង-C ជាឧទាហរណ៍ឥឡូវនេះកំពុងប្រើវាដើម្បីរក្សាទុកអ្វីដែលគេហៅថា ចំនួនយោង (ចំនួនឯកសារយោង) ។ ពីមុនចំនួនយោងត្រូវបានរក្សាទុកក្នុងកន្លែងផ្សេងក្នុងអង្គចងចាំ នៅក្នុងតារាង hash ដែលរៀបចំសម្រាប់វា ប៉ុន្តែវាអាចធ្វើឲ្យប្រព័ន្ធទាំងមូលថយចុះ ក្នុងករណីមានការហៅចេញ alloc/dealloc/retain/release មួយចំនួនធំ។ តារាងត្រូវតែចាក់សោដោយសារតែសុវត្ថិភាពខ្សែស្រឡាយ ដូច្នេះចំនួនយោងនៃវត្ថុពីរក្នុងខ្សែស្រឡាយពីរមិនអាចផ្លាស់ប្តូរក្នុងពេលតែមួយបានទេ។ ទោះជាយ៉ាងណាក៏ដោយតម្លៃនេះត្រូវបានបញ្ចូលថ្មីទៅក្នុងអ្វីដែលនៅសល់នៃអ្វីដែលគេហៅថា ព្រះយេស៊ូវ សូចនាករ។ នេះ​គឺ​ជា​អត្ថប្រយោជន៍​ដ៏​ធំ​មួយ​ទៀត​ដែល​មិន​ច្បាស់​លាស់​និង​ការ​បង្កើន​ល្បឿន​នៅ​ពេល​អនាគត។ ទោះយ៉ាងណាក៏ដោយ វាមិនអាចសម្រេចបាននៅក្នុងស្ថាបត្យកម្ម 32 ប៊ីតទេ។

ព័ត៌មានអំពីវត្ថុដែលជាប់ទាក់ទងគ្នា ថាតើវត្ថុត្រូវបានយោងខ្សោយ ថាតើវាចាំបាច់ដើម្បីបង្កើតឧបករណ៍បំផ្លិចបំផ្លាញសម្រាប់វត្ថុ ឬយ៉ាងណា។ ពេលវេលាដំណើរការគឺអាចបង្កើនល្បឿនដំណើរការជាមូលដ្ឋាន ដែលត្រូវបានឆ្លុះបញ្ចាំងនៅក្នុងល្បឿននៃកម្មវិធីនីមួយៗ។ ពីការធ្វើតេស្តនេះមានន័យថាបង្កើនល្បឿន 40-50% នៃការហៅទូរស័ព្ទគ្រប់គ្រងអង្គចងចាំទាំងអស់។ ដោយគ្រាន់តែប្តូរទៅទ្រនិច 64 ប៊ីត ហើយប្រើចន្លោះថ្មីនេះ។

សេចក្តីសន្និដ្ឋាន

ទោះបីជាដៃគូប្រកួតប្រជែងនឹងព្យាយាមផ្សព្វផ្សាយគំនិតដែលថាការផ្លាស់ប្តូរទៅស្ថាបត្យកម្ម 64 ប៊ីតគឺមិនចាំបាច់ក៏ដោយ អ្នកនឹងដឹងរួចហើយថានេះគ្រាន់តែជាមតិដែលមិនមានព័ត៌មានច្រើន។ វាជាការពិតដែលការប្តូរទៅ 64-bit ដោយមិនសម្រួលភាសា ឬកម្មវិធីរបស់អ្នកពិតជាមិនមានន័យអ្វីនោះទេ - វាថែមទាំងធ្វើឱ្យប្រព័ន្ធទាំងមូលដំណើរការយឺតផងដែរ។ ប៉ុន្តែ A7 ថ្មីប្រើ ARM64 ទំនើបជាមួយនឹងសំណុំការណែនាំថ្មី ហើយ Apple បានយកបញ្ហាដើម្បីធ្វើទំនើបកម្មភាសា Objective-C ទាំងមូល និងទាញយកអត្ថប្រយោជន៍ពីសមត្ថភាពថ្មី ដូច្នេះការបង្កើនល្បឿនដែលបានសន្យា។

នៅទីនេះយើងបានលើកឡើងពីហេតុផលមួយចំនួនធំថាហេតុអ្វីបានជាស្ថាបត្យកម្ម 64-bit គឺជាជំហានដ៏ត្រឹមត្រូវឆ្ពោះទៅមុខ។ វាគឺជាបដិវត្តន៍មួយទៀត "នៅក្រោមក្រណាត់" ដោយសារ Apple នឹងព្យាយាមរក្សានៅជួរមុខ មិនត្រឹមតែជាមួយនឹងការរចនា ចំណុចប្រទាក់អ្នកប្រើប្រាស់ និងប្រព័ន្ធអេកូឡូស៊ីដ៏សម្បូរបែបប៉ុណ្ណោះទេ ប៉ុន្តែជាចម្បងជាមួយនឹងបច្ចេកវិទ្យាទំនើបបំផុតនៅលើទីផ្សារ។

ប្រភព៖ mikeash.com
.