Running Xojo on a new Air M2

I just replaced my 2015 Macbook Pro 15" with a 2023 Macbook Air 15". Having used the Migration Assistant, I had the same 2019 version of Xojo on both machines. So I ran a few tests, side by side. 1. Running Xojo, 2. loading my project, 3. running my project. I didn’t record the times, I just clicked “go” on both computers at the same time. My conclusion was, in all 3 tests, the speed was pretty much the same. That is, the M2 using Rosetta (a virtual machine of some sort I gather) runs about the same speed as the 2015 Intel chip (sorry I don’t know the exact chip) running it natively. So much for my fantasy that the new computer would save me time.

To be fair, the 2015 machine has 16GB RAM whereas the 2023 machine has only 8GB.

Of course this says nothing about Xojo, just the two Macs.

So I downloaded the 2023 Xojo rev 4. Miraculously, no changes were required to my code for my project to compile and run. Thank you for this. Nice. I have been shunning new Xojo versions for some time now (4 years apparently) because some earlier updates required a lot of er updating of my code.

I’ve just run the same tests, side-by-side, Xojo 2019 on 2015 Mac Pro vs Xojo 2023 on 2023 Mac Air.

Running Xojo, getting up to the project selection screen, looks like about 1/4 the time. Loading my project, Its got to be 1/10th the time or better. Running my app…about 1/2 the time. Wow. Nice work guys.

To be thorough I ought to load Xojo 2023 on the 2015 machine and test it, but I can’t be bothered.
I just want to commend you all for the work you did in the last 4 years while I was uh not paying attention.

Now…how does my app, compiled with Xojo 2023, and running on the M2 perform? This I have yet to determine.

The one question I have is, are there any settings I should be aware of that will improve the performance of Xojo or my compiled app, ie by running natively vs using Rosetta?

2 Likes

Definitely compile your app as universal or Arm. That’ll make a huge difference.

3 Likes

Xojo is Universal so it shouldn’t require Rosetta. Rosetta is a system for running Intel code on an Arm processor (at least this version is). If you have native Arm code it would be much much faster. Fortunately Xojo and the applications it produces are able to be native Arm as well as Intel.

2 Likes

Xojo 2019.11 was intel only…

Capture d’écran 2024-01-08 à 17.17.46

Wow, only that short time ago. Apologies. The latest version has some great speed improvements if you can upgrade to 2023r4 and is native Arm.

Apple Silicon processors were announced in june 2020, so it was impossible for xojo to know they exist in May…
I remember xojo was apple silicon compliant in end of july 2020, before even xcode …

1 Like

This is what I needed to know. Simple thing but I didn’t know it was there yet. Thanks.

I forget just how rapidly the transition has been made. Even by Apple’s standards it is pretty flawless. I remember the transition from 68K to PPC. It took forever for everything to be updated to the new CPU. It was only when the G3 models came out that the change was pretty much fully achieved.

Parts of the system software as well.
I think, the transition from 68k to PowerPC was the best one.

Quite the opposite many parts of the system were left as 68K code and only updated to PPC years later. That meant that the 601-604 cpus were no faster than the 68K machines they replaced. Largely caused by the slowdown caused by Rosetta having to translation. It was only when the G3 chips came along that the speed improvement was noticeable, in some part due to the updates the to code.

Hi @Tom_Dowad, I am considering the same Macbook model, how does your system hold up while working with Xcode and Xojo alongside for developing IOS apps?

I can’t help you, I’m not doing that, just desktop apps. By and large I find the new Air to run as well as the old Macbook Pro. My only complaint has been that the little power supply that comes with the machine hums when the battery has been discharged and so the power supply is delivering a lot of current.

1 Like

The 68K->PowerPC transition may have been the most impressive from a technical standpoint but it was a protracted and bumpy experience for everyone involved. The emulator was very good but not perfect, and not all existing 68K applications were compatible with it and the necessary changes to System 7.

Unlike modern CPU transitions, the version of System 7 that ran PowerPC machines was largely still 68K code - upon the initial release, only critical part of the OS were recoded in the PowerPC instruction set, and the rest was emulated. On one hand, this meant that Apple was “dog fooding” their 68K translation system - but it also meant that early machines running System 7 were in some cases slower than their predecessors. Over time, as more of the OS was transitioned to native PowerPC code, the OS got dramatically faster and the true potential of the new CPU was finally utilized.

In fact, the demand to make PowerPC machines emulate 68K was so strong that multiple third-party emulators were sold that performed significantly better than Apple’s code.

Fortunately, it seems like Apple learned the lessons of the 68K->PowerPC transition, because the two transitions that followed it have been extremely smooth and successful. It helps that OS X’s predecessor NeXTt was originally targeted at multiple CPU architectures - 68K, PowerPC, and Intel; the underpinnings were already in place for OS X to be CPU-agnostic.

1 Like