On Saturday, 26 May 2018 03:38:27 -03 Jean-Michaël Celerier wrote: > It's not about subclassing QQuickControl, it's about running code without a > JIT / interpreter. Even if the cost in startup time and performance is > minimal, it is not as fast as raw C++ code - and there's nothing wrong with > wanting Qt to run on a lightbulb... some lightbulbs today have better CPUs > than the ones Qt was originally developed on.
I know you're making an exaggeration here for the sake of the argument, but it's not correct. First, Qt has considerably grown since 1.0. Just compare the size of the downloads from Qt 1.4 (available somewhere in download.qt.io, see Paul's blog) to 5.11. QtCore alone, today, is multiple times the size of the full Qt of back then. Second, no, Qt has never run on a CPU as tiny as you can find today on microcontrollers being deployed for IoT today. Those are still measured in tens of kilobytes of RAM with maybe a hundred kilobyte of flash storage. The only indicator that is comparable to the mainstay computers of 20 years ago is the clock: the microcontrollers run at tens of MHz, which is what the original Pentium from 1991 did (60 MHz). You may be thinking of processors as powerful as a Raspberry Pi Zero. Trust me, that is NOT what you would deploy to a light bulb, temperature sensor, humidity sensor, etc. You wouldn't even find that on a controller device with a simple screen, like a thermostat similar to the Google Nest: a system like you find on routers today (8-32 MB of flash storage, 32-128 MB of RAM, a CPU running at 200-600 MHz) more than suffices. Qt *could* run at the higher end of those, with a lot of compromises to make it fit. Which is why I don't think Qt has a role to play in these types of devices. Instead, Qt is far more likely to play in the industrial segment where devices need complex Human Machine Interfaces (HMI) and monitoring capabilities. Devices are also far more costly, since they aren't going for mass-market strategies. Finally, there's one more segment Qt could play, but it doesn't exist yet: microservices. If we start seeing controllers like I described replaced by a bigger device capable of installing and running multiple services, configurable by the user, then some of those could be Qt. Those microservices are likely to simply be Linux containers, so you should be expecting the host device to be like a Raspberry Pi or a low-end Intel Atom CPU with 1 GB of RAM or so. [It goes without saying that Qt could be used for digital signage, but it's a stretch to call those IoT] -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center _______________________________________________ Development mailing list Development@qt-project.org http://lists.qt-project.org/mailman/listinfo/development