Skip to content

Optimizing Xojo Code, Part 1: Getting Started

We all write code that works. It compiles, it runs, and it accomplishes its task. But sometimes, “working” isn’t quite the same as “optimal.” Optimization is about making your applications faster, more responsive, and more efficient, leading to a better experience for the end-users.

Let’s look at a small, functional snippet of Xojo code. It does its job but it has room to grow, to become more polished.

The Code in Question

It’s designed to simulate a waiting period, updating a label as it progresses:

Public Const kCountTo as Number = 20000

Sub Pressed() Handles Pressed
  Var numMsWaited As Integer = 0
  While numMsWaited < kCountTo
    numMsWaited = numMsWaited + 100
    App.DoEvents(100)
    StatusLabel.Text = numMsWaited.ToString
  Wend
  
  StatusLabel.Text = "done"
End Sub

This code successfully counts up to kCountTo, updating StatusLabel along the way and yielding control with App.DoEvents. It gets the job done, but it can be better. Are there alternative approaches that could make this process more efficient, more responsive, or perhaps more elegant?

So… Can We Optimize This Xojo Code Snippet?

Analyze this snippet and consider how you might improve it. Think about performance, responsiveness, and any Xojo-specific features that could offer a more robust solution.

We encourage you to share your insights, your refactored code, or even just your ideas for improvement, on the Xojo forum.


I’ll present some optimized versions in future posts. Stay tuned and put on your optimization hats!

Gabriel is a digital marketing enthusiast who loves coding with Xojo to create cool software tools for any platform. He is always eager to learn and share new ideas!