tsp-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Tsp-devel] Re: Problème de sampling.


From: Erk
Subject: [Tsp-devel] Re: Problème de sampling.
Date: Sat, 26 Nov 2005 21:50:07 +0100

2005/11/26, STEF <address@hidden>:
[...]
>
> La variable sampleValue.provider_global_index permettait de retrouver
> facilement le symbol concerné dans la table globale issue de l'étape 1.

Et ce sera encore le cas avec un tout petit peu plus de travail.

>
> Aujourd'hui, GDisp+ offre la possibilité de charger une session composée
> d'un sous-ensemble des symboles existants, et ce SANS DEMANDER L'ENSEMBLE
> DES SYMBOLES AU PREALABLE.

Et c'est cool :))

>
> Par exemple avec un tsp_stub_server qui offre 1000 symboles, la session
> peut n'en contenir que 10 répartis dans plusieurs plots graphiques.
>
> !!! >> Donc en mémoire, GDisp+ a bâti une table de 10 symboles.
>
> Or les index obtenus soit par TSP_consumer_get_requeted_sample, soit par
> sampleValue.provider_global_index continuent à arriver avec des valeurs
> comprise entre 0 et 999.

Ben oui c'est un PGI =  Provider Global Index
donc fait pour faciliter la vie du provider
mais c'est pas grave...voir la suite.

>
> J'ai peur des perfos car je dois faire une RECHERCHE MANUELLE des symboles
> chaque fois qu'une sampleValue arrive, cad autant de fois qu'il y a de
> symboles en sampling toutes les 10 ms.

C'est à toi,
ou peut-être une fonction à rajouter à la lib consumer (on verra à l'usage)
de maintenir un tableau local qui fait la translation
PGI   ---> index_local_au_consumer
"
Mettons que tu demandes 10 symboles.
Tu crées un tableau
int pgi2local[10];

et quand tu reçois ton échantillons dont tu connais le PGI
ben

pgi2local[pgi] te donneras l'index local dont tu as besoin.
Tu as une indirection de + qu'avant mais je suis confiant sur
le fait que ça va continuer de déchirer sa carte graphique :))

Ca c'est la méthode low-tech, mais néanmoins efficace,  pour faire une "map" .

Sinon comme toi en tant que GTK+iste de la mort tu hérites
déjà de la Glib et donc tu as à ta disposition des structures de données
"map-like" qui doivent avoir (AVérifier) un temps de recherche en log(n)
au lieu de n.

Par exemple:
http://developer.gnome.org/doc/API/glib/glib-hash-tables.html
ou même des Quark!!! ce qui à l'air bien fun :))

http://developer.gnome.org/doc/API/glib/glib-quarks.html

>
> Que feriez-vous ? Continuer de demander les 1000 symboles avant de charger
> la session auquel cas le sampleValue.provider_global_index redevient
> utilisable ?

En fait NON et surtout pas.
Je te donne dès que tu as le temps un provider avec 500 000 symboles
et tu auras vite fait de te convaincre qu'il ne FAUT PAS demander la liste
de TOUS les symboles à un provider de ce genre.

>
> Euskadi.

--
Erk




reply via email to

[Prev in Thread] Current Thread [Next in Thread]