[Development] [I/O, Core] Defer a emitting of signal. It is possible?

Thiago Macieira thiago.macieira at intel.com
Sun Feb 9 20:40:19 CET 2014


Em dom 09 fev 2014, às 23:26:29, Denis Shienkov escreveu:
> It seems that select() which implicitly uses QSocketNotifier/Dispatcher
> is a bottleneck. But it is very strange
> because the serial port is very slow device on the relation with others.
> Therefore in the theory the I/O with
> the serial port shan't influence overall performance and the CPU loading.

That's a wrong conclusion. Our direct implementations of select() (like in 
QProcess and QAbstractSocket) do not use QSocketNotifier. They bypass the 
notifiers and go straight to select.

Unless you meant "used by" instead of "uses".

What do you mean by Dispatcher? The classes derived from 
QAbstractEventDispatcher?

Anyway, what did your profiling reveal? Where are the hotspots in the 
application?

> So, I thought that the possible workaround is to use a "deferred"
> signals. E.g. the event from an defice

Why are you talking about workarounds? First we investigate the actual 
problem. Only if we are unable to fix the problem should we think of a 
workaround. We're not there yet.

> Or maybe, there are other solutions of a problem? Maybe someone can
> advise something?

Yes, profile it and let us know where the exact problem is.

-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center



More information about the Development mailing list