Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1193 connectés 

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Suivante
Auteur Sujet :

Algorithme parallélisé: Je n'arrive pas à l'écrire avec fork()

n°1628842
sigmatador
Posté le 22-10-2007 à 18:42:34  profilanswer
 

Reprise du message précédent :

franceso a écrit :

Question bête mais je la pose quand même au cas où : tu peux pas stocker directement le pattern en mémoire partagée ? A charge au processus tâche de faire son pcre_compile...


Si ca je peux (en definissant une taille maximale pour le pattern), mais niveau perf, compiler le pattern à chaque fois, ca va être pire que la solution 2, est de loin.
 
Les tâches n se créent et se terminent assez rapidement. En période de pointe, l'appli va en traiter un bon paquet par seconde, j'essaie donc de designer le programme avec un soucis de performance afin que le serveur sur lequel il va tourner tienne la charge.
 
edit: et oui mes problèmes à moi ca vous change des histoires de sapins hein ^^ ? (je suis en train de lire les post en dessous pour mechanger les idées là ^^)


Message édité par sigmatador le 22-10-2007 à 18:53:30
mood
Publicité
Posté le 22-10-2007 à 18:42:34  profilanswer
 

n°1629130
Sve@r
Posté le 23-10-2007 à 10:41:48  profilanswer
 

sigmatador a écrit :

Mais avec les expressions régulières, c'est loin d'être aussi simple. J'utilise PCRE qui me compile le pattern qu'il recoit du socket admin, sauf que le résultat retourné est stocké sur le tas, et donc le pointeur retourné n'a aucune validité dans les processus tâches. Je pourrais alors  adapter la mémoire partagée pour qu'elle ne stoque plus le pointeur mais directeemnt la structure, sauf que cette dernière est de taille variable et je ne peux donc prévoir à l'avance la taille à allouer pour le pool.


Une structure de taille variable ??? Réellement étonnant. Je connais pas PCRE mais tu peux pas faire un memcpy(ptr_reçu, share_memory) ???
 

sigmatador a écrit :

edit: et oui mes problèmes à moi ca vous change des histoires de sapins hein ^^ ? (je suis en train de lire les post en dessous pour mechanger les idées là ^^)


A mon avis, beaucoup préfèrent un problème de ce type que de se farcir les étudiants boutonneux qui dorment en classe et en sont encore à parler de "boucle if()"... [:ddr555]

Message cité 1 fois
Message édité par Sve@r le 23-10-2007 à 10:44:06

---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
n°1629160
sigmatador
Posté le 23-10-2007 à 11:05:27  profilanswer
 

Sve@r a écrit :


Une structure de taille variable ??? Réellement étonnant. Je connais pas PCRE mais tu peux pas faire un memcpy(ptr_reçu, share_memory) ???


Non, la structure PCRE contient des buffers qui sont alloués dynamiquement par la librairie, mais pas la taille des dits buffers. C'est pour ca d'ailleurs qu'elle possède des pointeurs de fonctions pour l'allocation/désallocation initialisés par default avec les adresses de malloc/free.
 
Mais je crois avoir trouver la librairie qu'il me faut: http://www.ossp.org/pkg/lib/mm, sauf si je m'emballe, ca devrait être trivial, suffit d'initialiser la mémoire partagée avant tout fork et de faire pointer pcre_malloc/pcre_free vers mm_malloc/mm_free.  

n°1629192
sigmatador
Posté le 23-10-2007 à 11:40:06  profilanswer
 

Bon je confirme, ce problème deviant trivial avec la librairie mm, en 3 lignes de code c'est réglé, au final l'appli devrait avoir cette tête là ^^:
 
http://photomaniak.com/upload/out.php/i120228_design.png


Message édité par sigmatador le 23-10-2007 à 12:43:41
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Suivante

Aller à :
Ajouter une réponse
 

Sujets relatifs
Ecrire dans un cube AnalysisServices2005Ecrire dans un argument en Javascript ?
[WSH Scripting] écrire dans fichier texte depuis fichier excelentrer du texte au clavier sans l'afficher, sous bash.
Ecrire un fichier wav avec fmod ex[java] algorithme du simplexe
Algorithme Monte Carlodirective php pour ecrire variable dans chaine sans guillemets
défi algorithme dateProblème pour écrire dans une table!
Plus de sujets relatifs à : Algorithme parallélisé: Je n'arrive pas à l'écrire avec fork()


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR