--nextPart1322077.dBglThzYvN Content-Type: Text/Plain; charset="iso-8859-15" Content-Transfer-Encoding: quoted-printable Em Segunda-feira 17 Agosto 2009, =E0s 15:16:19, Dawit A. escreveu: > On Monday 17 August 2009 04:09:53 Thiago Macieira wrote: > > Em Domingo 16 Agosto 2009, =E0s 14:31:01, Dawit A. escreveu: > > > The attached patch changes KIO::AccessManager to schedule all the job > > > requests it receives to prevent the explosion of kio_http process that > > > can get spawned when many requests are made by an application all at > > > once, e.g. rendering any moderately complex site. > > > > > > You can easily see this by using the webkitpart in Konqueror and > > > visiting any moderately complex site. For example, before the patch > > > visiting qt.nokia.com/developer spawns 21 kio_http processes where as > > > only 2 are spawned with the patch. Actually the scheduler always seems > > > to spawn only 2 processes per site. > > > > That's how it should be. I'm wondering why the explicitly scheduling is > > necessary. > > > > Shouldn't all jobs be scheduled by default in KIO? > > Well KIO::Scheduler does schedule all jobs. However, it provides 3 > different scheduling modes. > > The default mode, Direct, will not control how many jobs gets to be > spawned. Rather it simply assumes the application will manage its requests > appropriately and simply recycle an existing job if it can be reused to > fulfill the request or create a new one. That however means that it does > not cope very well, from the prespective ioslave spawning, when an > application creates too many jobs in a short time span... Reuse a job? I don't think you can do that. You can reuse a slave, but since KIO::Slave is not public API, you can't do= =20 that. > I guess the default choice assumes that most developers do not have a need > to do that... In face the scheduler documentation explicitly states for > devlopers to use the scheduled mode if they create many jobs and do not > want to have an ioslave for each job. Ok, makes sense to me then. Ship it. =2D-=20 Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org Senior Product Manager - Nokia, Qt Development Frameworks PGP/GPG: 0x6EF45358; fingerprint: E067 918B B660 DBD1 105C 966C 33F5 F005 6EF4 5358 Qt Developer Days 2009 | Registration Now Open! Munich, Germany: Oct 12 - 14 San Francisco, California: Nov 2 - 4 http://qt.nokia.com/qtdevdays2009 --nextPart1322077.dBglThzYvN Content-Type: application/pgp-signature; name=signature.asc Content-Description: This is a digitally signed message part. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) iD8DBQBKiV/7M/XwBW70U1gRApn7AKC3FkU8L4NurTKt+6GZnG0nb1DLXACeLbml F1bE02be2k8wXHg803miGvc= =oFo3 -----END PGP SIGNATURE----- --nextPart1322077.dBglThzYvN--