Inside the Moto G is Qualcomm's Snapdragon 400 SoC, which I've previously used inside the HTC One mini. However there are some notable differences between the two devices and their SoCs: the One mini uses the LTE-enabled MSM8930, while the Moto is a budget device, and so uses the HSPA+ only MSM8226.

The MSM8226 also differs from the MSM8930 on the CPU core configuration. Instead of the two Krait 200 cores clocked at 1.2 GHz, the MSM8226 uses four ARM Cortex-A7 cores at 1.2 GHz. The Cortex-A7s used here aren't quite as powerful as ARM's top-end designs - you might recall A7s are the low-power cores used in the Samsung Exynos 5 Octa big.LITTLE model - and that's why we're seeing four of them in this SoC, replacing two Krait 200s.

Graphics-wise, the MSM8226 comes loaded with an Adreno 305 GPU running at 450 MHz, plus an LPDDR2 memory controller, and single-band Wi-Fi 802.11b/g/n, Bluetooth 4.0, A-GPS+GLONASS and 21 Mbps HSPA+ radios. The Snapdragon 400 is paired with 1 GB of RAM and 8 or 16 GB of internal storage.

I'm going to get one thing out of the way before discussing anything else: the Android user interface on the Moto G is not laggy. Performance swiping across home screens, navigating through settings, and using stock applications is similar to that from a top-end handset. Naturally it's not going to be as fast as a Snapdragon 800-powered device, but it delivers a buttery-smooth hardware accelerated experience 99% of the time.

You can start to notice a difference between the Moto G and flagship devices in app loading and multitasking. Where the Nexus 5 will load applications close to instantly, the Moto G can take a second or so to produce a usable screen. Multitasking also suffers from the 1 GB of RAM; after loading 10 or more applications on the Moto G, swapping back to the oldest application is like loading the app from scratch, where it would be swapped to instantly on the Nexus 5.

But comparing the Moto G to a high-end device is mostly pointless. The Moto G delivers performance that's far better than what we used to see from lower-end Android devices a year or two ago. Even web browsing is quite acceptable on the Snapdragon 400 SoC, with the quad-core CPU reflowing text and manipulating images fast enough to not be frustrating.

The combination of an Adreno 305 GPU and 720p display also seems to be good enough to run most 3D games at an acceptable frame rate. It doesn't deliver the same performance as an Adreno 330, and some games (such as Grand Theft Auto: San Andreas) are unsupported on the Moto G, but the device could be perfect for the casual mobile gamer.

When it comes to running synthetic benchmarks on the Moto G, you'll be glad to hear that Motorola hasn't included any dodgy code to artificially boost the CPU speed while they're being run. This means we'll be getting accurate and fair results in all the tests we run.

In Futuremark Peacekeeper, which I ran in Chrome on the Moto G, the device performed okay, beating the scores posted from all Windows Phones (using Internet Explorer) and nearly matching the performance of the Snapdragon S4 Pro powered Xperia Z. Results from Kraken and Vellamo also seem to back this up; in these tests the Moto G is slower than a Snapdragon 600 or 800 device, and just behind S4 Pro smartphones.

Our graphics benchmarks have only been run on newer devices, but they reveal that the Moto G's Adreno 305 GPU delivers around one third the performance of the Adreno 330. In GFXBench, you can see that the GPU is roughly as capable at rendering to 720p displays as the Adreno 320 (in the Snapdragon 600) is at rendering at 1080p, which is nothing to scoff at.

The storage situation on the Moto G isn't so glowing. I received an 8 GB model to review, and one thing's for sure: 8 GB is definitely not enough storage for my regular usage. With just over 5 GB usable out of the box, I quickly filled the available space and there's no microSD card slot for expansion. Even if you don't plan to use a lot of storage space, I highly recommend spending the extra $20 to pick up the 16 GB model, which will give you much more freedom to download apps and store your media.

The internal storage also appears to be quite slow when writing to it, as I recorded just 9 MB/s when transferring a movie to the device. This is surprising, considering the read performance approaches that of other handsets.

As mentioned earlier in this review, the Moto G we received is a dual-SIM model, designed for people who want a separate number for business calls and personal calls. Essentially, each time you perform an action that requires a cellular network, such as make a phone call or send a text message, you have a choice of which SIM card to use. You can set certain numbers to always use certain SIMs, and there's an option in the settings to set a particular SIM for data usage.

I found the dual-SIM functionality to work well and I couldn't detect any performance differences between them. Call quality is great and depending on your network, data connections are reasonable. There's no LTE support in the Moto G, but I achieved good speeds (14 Mbps down) through HSPA+ down in Australia.

Qualcomm's Snapdragon 400 really delivers in the Moto G, giving a smooth user experience and decent performance in apps and games. You do miss out on top-end features (LTE, dual-band Wi-Fi, NFC, top-level performance), but this is one of the best-performing budget devices I've used so far.