If you used libmaple ('rogers') core, it is likely more compact, it is specifically made / written to run only and only on stm32f103c8 and stm32f103cb.
that comes from the "old" maple mini, where it started.
libmaple ('rogers') core is deemed 'for experts' these days, it is nearly a 'from scratch' stm32duino core handcrafted to work on a specific processor (stm32f103c8 and stm32f103cb.) - lean and maybe *fast*
for the 'official' core, the attempt is to 'cross series', this is one of the biggest difference, it uses STM32 Cube HAL and attempts to run on many different boards.
As such, you get a large board list there
https://github.com/stm32duino/Arduino_C ... ted-boards
valuable if you (may) intend to 'cross series' e.g. to simply use a different board. There is a chance a sketch written for (i.e. source code level) stm32f103 c8 'just works' on say stm32f4xx and even 'higher' chips. Though not necessarily all the time. There are some (hardware) architecture differences between stm32f103xx series vs the stm32f4xx series.
That may work if you can stick to the arduino API and the 'official' stm32duino API.
https://github.com/stm32duino/wiki/wiki/API
i.e. you may be able to 'cross series' by simply using that same API, but no promises though.
oh and 'play' with the settings optimizations e.g. -Os optimize size, smallest, there is this "LTO" link time optimization - earlier compilers actually removed too much codes and cause some apps to crash, current compilers may have solved it, I'd not know, but if you are 'testing' after all, i'd guess you could try it.
"LTO" etc are mainly there for the 'official' core only. the old 'libmaple' core don't have all these as they are based on even earlier 'prehistoric' compilers. Though it'd just build with new compilers as well.