Optimisation Cython: chaîne 5 octets ou size_t?

voix
0

J'écris un module Cython qui traite un grand nombre de clés 5 octets extraites d'une mémoire de valeur clé. Je me suis installé sur 5 parce que cela me donne assez de place pour les combinaisons (~ 5000000000000) pour très peu d'espace.

Les ensembles de résultats sont récupérés et combinés dans des blocs de mémoire contigus que je peux numériser à pas de 5 octets. Il est assez rapide jusqu'à présent, mais le code pourrait utiliser un nettoyage.

Je me demande si je peux simplifier mon code en utilisant size_t ou longues ints au lieu des unités 5 octets, et traiter des tableaux de nombres au lieu de blocs d'octets. Mis à part le 5 à 8 octets augmentation de stockage, je me demande quelle peine de performance je pourrais engager dans, ou si je peux même faire mon programme plus efficace sur une machine 64 bits si certaines instructions du processeur favorisent les unités de 8 octets.

Je suis tout à fait nouveau à ce genre de programmation de bas niveau, donc je pensais que je pouvais utiliser quelques conseils avant de commencer à écrire une preuve de concept qui couvre toutes les opérations que je dois faire (recherche, concaténer, insertion, etc.).

Des conseils sont appréciés!

Créé 20/10/2018 à 03:22
source utilisateur
Dans d'autres langues...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more