-
Algorithmie et fork()
Bonjour,
Je m'interrogeais sur la méthode à utiliser.
Voilà, j'ai un petit script qui utilise fork() & pipe() pour communiquer avec le parent.
Je crée donc 10 processus enfants pour récupérer des données sur un site web.
Mais je demandais ce qu'il serait plus judicieux de faire avec les processus enfants.
Est ce que j'envoie à chaque enfants la page à parser dès que l'un à terminer.
Par exemple, j'ai 100 pages à parser, je délégue pour chaque enfants une page, et dès que celui ci à terminer je lui en donne une autre ?
Ou
Est ce que je calcule le nombre de page à parser, et j'affecte à chaque enfants l'intervalle à parser.
Par exemple, toujours avec mes 100 pages, je délègue pour chaque enfants 10 pages à parser.
Je m'interroge sur ces deux méthodes, quelle serait la plus rapide, la plus facile à mettre en œuvre (je suppose que la seconde est plus simple mais peut être moins rapide)
Merci de vos conseils.
-
A l'évidence, la seconde est moins performante, puisque le temps total sera au minimum le temps de la somme la plus grande des temps de 10 parse. Alors que pour le premier, ce ne sera le cas que si les temps de parse sont à peu près égaux.
Pour ce qui est de la programmation de la version 1, il faut avoir une file d'attente gérée par le père. Je ne peux pas en dire beaucoup plus, mais le module POE est très efficace pour ce genre de chose, parait-il.