Note
Cette documentation est en cours de rédaction. Elle peut contenir des erreurs et des informations peuvent manquer. Si vous avez des commentaires ou questions, merci de nous contacter sur la liste de diffusion unitex-devel ou de remplir un rapport de bogue en utilisant notre système de suivi des incidents.
Persistance des ressources linguistiques¶
Les ressources linguistiques (graphes .fst2
, dictionnaires .bin
et fichiers
.inf
, et dans une bien moindre mesure les fichiers Alphabet.txt
) prennent
beaucoup de temps pour être chargées. Les dictionnaires sont gros, les graphes sont
complexes. Pour économiser ce temps à chaque lancement d’un outil, il est possible
de pré-charger ces ressources avant d’appeler les outils Unitex.
Pour cela, il existe pour chaque type de ressource (dictionnaire, graphe et alphabet)
une fonction de pré-chargement. Cette fonction retourne le nom de la ressource
persistante (dans le buffer persistent_filename_buffer
de taille buffer_size
qui devra être fourni par l’appelant en C, comme valeur de retour des fonctions Java).
Note
Les fichiers dictionnaires utilisés doivent rester présents et non modifiés, car la technique de mappage de fichiers en mémoire peut être utilisée.
Avertissement
La règle de constitution du nom de la ressource persistante pouvant évoluer
et dépendre du type de librairie de persistance installée, c’est bien ce nom
qui devra être fourni comme paramètre aux outils Unitex correspondant
(Locate
, Dico
...), et éventuellement aux fonctions de déchargement
correspondant.
C¶
persistence_public_load_dictionary
¶
int persistence_public_load_dictionary(const char* filename,
char* persistent_filename_buffer,
size_t buffer_size);
persistence_public_is_persisted_dictionary_filename
¶
int persistence_public_is_persisted_dictionary_filename(const char*filename);
persistence_public_unload_dictionary
¶
void persistence_public_unload_dictionary(const char* filename);
persistence_public_load_fst2
¶
int persistence_public_load_fst2(const char* filename,
char* persistent_filename_buffer,
size_t buffer_size);
persistence_public_is_persisted_fst2_filename
¶
int persistence_public_is_persisted_fst2_filename(const char*filename);
persistence_public_unload_fst2
¶
void persistence_public_unload_fst2(const char* filename);
persistence_public_load_alphabet
¶
int persistence_public_load_alphabet(const char* filename,
char* persistent_filename_buffer,
size_t buffer_size);
persistence_public_is_persisted_alphabet_filename
¶
int persistence_public_is_persisted_alphabet_filename(const char*filename);
persistence_public_unload_alphabet
¶
void persistence_public_unload_alphabet(const char* filename);
Java¶
loadPersistentDictionary
¶
public native static String loadPersistentDictionary(String filename);
freePersistentDictionary
¶
public native static void freePersistentDictionary(String filename);
loadPersistentFst2
¶
public native static String loadPersistentFst2(String filename);
freePersistentFst2
¶
public native static void freePersistentFst2(String filename);
loadPersistentAlphabet
¶
public native static String loadPersistentAlphabet(String filename);
freePersistentAlphabet
¶
public native static void freePersistentAlphabet(String filename);