I took a deeper look at the datasheet:
https://www.gigadevice.com/products/microcontrollers/gd32/risc-v/Comparing with the figures given in the F103 datasheet, it should draw less power/MHz in run mode, but of course there's a number of factors to take into account, such as which peripherals are enabled, etc, and the frequency you ran them at was also not the same obviously. Still, for the STM F103, they state ~50mA @72MHz with all peripherals enabled (which is not terribly impressive), and for the GD32VF103, 33.7mA @108Mhz (also all peripherals enabled), which looks definitely better. Now that remains to be confirmed with measurements. Thanks for the couple measurements you made, unfortunately the tool you used is not really accurate enough... but we are definitely in the ballpark stated in the datasheets.
Other than power consumption at the typical 3.3V, I noticed two points that are worth considering when using a GD32VF103.
* First, min. VDD is 2.6V (vs. 2V for the STM32F103), which probably also says a thing or two about the process node they must have used. Or maybe it's all due to the flash memory... (which I suspect, see below!)
* Second, the startup time is very significant at 132ms... (and also the wakeup from standby mode which is almost as much...) They are much shorter on a STM32F103. Not sure what explains this as I haven't found clear documentation on the "boot" process. I'm suspecting that the internal flash is first copied to an internal SRAM block (which would allow 1/ cheap flash on a separate die and 2/ easily allow the zero-wait-state that is advertised), but I haven't seen that clearly stated (unless I missed it), and the block diagram makes it look like the core would have direct access to flash memory.