Por que fn e os tipos aceleram o código
Relacione rigor e desempenho.
Por que fn e os tipos aceleram o código é uma aula grátis de Mojo Academy no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Mojo Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Mojo Academy inclui 4 aulas no total.
Partes desta aula ainda não foram traduzidas e aparecem em inglês.
Speed Comes From Knowing
Mojo is fast because it knows your types ahead of time. With fn and annotations, the compiler can generate tight machine code. ⚡
Python Decides at Runtime
Plain Python checks an object's type every time it runs an operation. That constant dispatch work is a big part of why it can feel slow.
Static Types Skip the Checks
When a type is fixed at compile time, Mojo drops the runtime type checks. The operation becomes a direct, fast instruction.
fn add(a: Int, b: Int) -> Int:
return a + bfn Requires Types
An fn forces you to declare types, giving the compiler everything it needs to optimize. That requirement is the source of its speed.
fn scale(x: Float64) -> Float64:
return x * 2.0No Boxing of Numbers
Python wraps every number in an object on the heap. A typed Mojo Int lives directly as raw bytes, with no wrapper to unpack.
var count: Int = 42Values Fit in Registers
Because a typed number is just bytes, the CPU can keep it in a fast register instead of chasing pointers through memory.
Inlining Becomes Possible
Knowing the exact types lets the compiler inline small functions, removing call overhead in hot loops that run millions of times.
Loops Get Specialized
A typed loop compiles to a fixed sequence of CPU instructions. The compiler can even unroll or vectorize it for extra throughput.
fn total(n: Int) -> Int:
var s = 0
for i in range(n):
s += i
return sErrors Caught Early
Types catch mismatches at compile time, so the running program spends zero effort guarding against them. Safety and speed arrive together.
def Stays Flexible
A def can skip types and behaves like Python, which is handy but slower. You choose strictness only where speed truly matters.
def greet(name):
print("Hi", name)Strictness Is a Trade
You trade a little flexibility for big speed. In hot paths the deal is great; fn plus types is how Mojo closes the gap with C.
Quick Check
Connect strictness to performance.
Recap
Typed fn code lets Mojo skip dynamic checks, avoid boxing, and emit specialized machine code. Strictness in hot paths is the speed secret. 🎯
Perguntas Frequentes
A aula “Por que fn e os tipos aceleram o código” é grátis?
Sim — o texto completo de “Por que fn e os tipos aceleram o código” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Mojo Academy, atualize para CoddyKit PRO. O curso de Mojo Academy inclui 4 aulas no total.
O que vou aprender em “Por que fn e os tipos aceleram o código”?
Relacione rigor e desempenho. Você pratica Mojo Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Mojo Academy?
Nenhuma experiência prévia é necessária. Mojo Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.
Quanto tempo leva a aula “Por que fn e os tipos aceleram o código”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Mojo Academy?
Sim. Cada aula de Mojo Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Escrevendo um teste de desempenho justo
- Por que fn e os tipos aceleram o código
- Lendo os números com honestidade
- Hábitos idiomáticos de Mojo