Mojo Academy · Pelajaran

Mengapa fn dan Tipe Mempercepat

Hubungkan keketatan dengan performa.

Pelajaran 2 dari 413 langkah

Mengapa fn dan Tipe Mempercepat adalah pelajaran Mojo Academy gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Mojo Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Mojo Academy mencakup 4 pelajaran total.

Kecepatan Berasal dari Pengetahuan

Mojo cepat karena mengetahui jenis Anda sejak awal. Dengan fn dan anotasi, kompiler dapat menghasilkan kode mesin yang efisien. ⚡

Python Menentukan Saat Runtime

Python biasa memeriksa jenis objek setiap kali menjalankan operasi. Pekerjaan pemilihan yang terus-menerus ini menjadi salah satu alasan Python dapat terasa lambat.

Jenis Statis Melewati Pemeriksaan

Saat jenis ditetapkan pada waktu kompilasi, Mojo menghapus pemeriksaan jenis saat runtime. Operasi tersebut menjadi instruksi langsung yang cepat.

fn add(a: Int, b: Int) -> Int:
    return a + b

fn Memerlukan Jenis

fn mengharuskan Anda mendeklarasikan jenis, sehingga kompiler memiliki semua yang diperlukan untuk melakukan optimasi. Persyaratan tersebut merupakan sumber kecepatannya.

fn scale(x: Float64) -> Float64:
    return x * 2.0

Tanpa Boxing Angka

Python membungkus setiap angka dalam sebuah objek di heap. Int bertipe di Mojo tersimpan langsung sebagai byte mentah, tanpa pembungkus yang perlu dibongkar.

var count: Int = 42

Nilai Muat dalam Register

Karena angka bertipe hanyalah byte, CPU dapat menyimpannya dalam register yang cepat, alih-alih menelusuri pointer di memori.

Inlining Menjadi Mungkin

Mengetahui tipe yang tepat memungkinkan kompilator melakukan inline pada fungsi kecil, sehingga overhead pemanggilan hilang dalam loop panas yang dijalankan jutaan kali.

Loop Menjadi Terspesialisasi

Loop bertipe dikompilasi menjadi urutan instruksi CPU yang tetap. Kompilator bahkan dapat melakukan unrolling atau vektorisasi untuk throughput tambahan.

fn total(n: Int) -> Int:
    var s = 0
    for i in range(n):
        s += i
    return s

Error Terdeteksi Lebih Awal

Tipe mendeteksi ketidakcocokan saat kompilasi, sehingga program yang berjalan tidak perlu menghabiskan usaha untuk mengantisipasinya. Keamanan dan kecepatan hadir bersamaan.

def Tetap Fleksibel

def dapat melewati tipe dan berperilaku seperti Python, yang praktis tetapi lebih lambat. Anda hanya perlu memilih keketatan di bagian yang benar-benar membutuhkan kecepatan.

def greet(name):
    print("Hi", name)

Keketatan Adalah Pertukaran

Anda menukar sedikit fleksibilitas demi peningkatan kecepatan yang besar. Pada jalur panas, pertukaran ini sangat menguntungkan; fn ditambah tipe adalah cara Mojo memperkecil kesenjangan dengan C.

Pemeriksaan Singkat

Hubungkan keketatan dengan performa.

Rangkuman

Kode fn bertipe memungkinkan Mojo melewati pemeriksaan dinamis, menghindari boxing, dan menghasilkan kode mesin yang terspesialisasi. Keketatan pada jalur panas adalah rahasia kecepatannya. 🎯

Gratis untuk memulai

Belajar Mojo dengan tutor AI — gratis

Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.

Kursus
30
Pelajaran
120

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Mengapa fn dan Tipe Mempercepat” gratis?

Ya — teks lengkap “Mengapa fn dan Tipe Mempercepat” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Mojo Academy, upgrade ke CoddyKit PRO. Kursus Mojo Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Mengapa fn dan Tipe Mempercepat”?

Hubungkan keketatan dengan performa. Kamu berlatih Mojo Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Mojo Academy?

Tidak diperlukan pengalaman sebelumnya. Mojo Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.

Berapa lama pelajaran “Mengapa fn dan Tipe Mempercepat” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Mojo Academy ini?

Ya. Setiap pelajaran Mojo Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Menulis Benchmark yang Adil
  2. Mengapa fn dan Tipe Mempercepat
  3. Membaca Angka secara Jujur
  4. Kebiasaan Mojo yang Idiomatis
← Kembali ke Mojo Academy