Articles of performance

Python: Amélioration de la recherche dans les sous-chaînes en intégrant des algorithmes sophistiqués

J’étends ma question précédente python efficace recherche de sous-chaîne , Je suis intéressé à améliorer les performances de la mise en œuvre de la recherche par sous-chaîne, Certaines des réponses de ma question précédente soulignaient que la recherche de sous-chaîne est implémentée en utilisant fastsearch qui utilise un algorithme inspiré par BM, voici le code […]

Le moyen le plus efficace d’implémenter une liste noire

Je développais un filtre Ip et devinais comment je pourrais, en utilisant n’importe quel type de structure de données esque, développer un filtre BlackList TRÈS efficace et rapide. Ce que je veux faire est simple, chaque connexion entrante / sortante je dois vérifier dans une liste d’adresses IP bloquées. Les adresses IP sont dispersées et […]

Méthode la plus rapide de division d’entier vectorisée par diviseur non constant

Sur la base des réponses / commentaires de cette question, j’ai écrit un test de performance avec gcc 4.9.2 (MinGW64) afin d’estimer quelle manière la division de plusieurs entiers est plus rapide, comme suit: #include // SSE2 static unsigned short x[8] = {0, 55, 2, 62003, 786, 5555, 123, 32111}; // Dividend __atsortingbute__((noinline)) static void […]

iPhone – Obtenir un pointeur sur les données derrière CGDataProvider?

J’essaie de prendre une image CGImage et de copier ses données dans une mémoire tampon pour un traitement ultérieur. Le code ci-dessous correspond à ce que j’ai jusqu’à présent, mais il y a une chose qui ne me plaît pas: il copie les données d’image deux fois. Une fois pour CGDataProviderCopyData() et une fois pour […]

Êtes-vous un nombre premier

Depuis des années, je m’intéresse au problème de la recherche d’un meilleur identificateur de nombres premiers. Je me rends compte que c’est un énorme domaine de recherche et d’études universitaires – mon intérêt pour ce domaine est juste pour le plaisir. Voici ma première tentative de solution possible, en C (ci-dessous). Ma question est la […]

Améliorer le sorting rapide

Si possible, comment puis-je améliorer le sorting rapide suivant (en termes de performances). Aucune suggestion? void main() { quick(a,0,n-1); } void quick(int a[],int lower,int upper) { int loc; if(lower<upper) { loc=partition(a,lower,upper); quick(a,lower,loc-1); quick(a,loc+1,upper); } } /* Return type: int Parameters passed: Unsorted array and its lower and upper bounds */ int partition(int a[],int lower,int upper) […]

Multiplication flottante effectuant plus lentement en fonction d’opérandes en C

J’effectue un calcul de pochoir sur une masortingce que j’ai précédemment lue dans un fichier. J’utilise deux types de masortingces différents (type non nul et type nul). Les deux types partagent la valeur des limites (1000 en général), tandis que le rest des éléments est 0 pour le type zéro et 1 pour le type […]

Performances de la dissortingbution de size_t à double

TL; DR : Pourquoi la multiplication / diffusion de données dans size_t lente et pourquoi cela varie-t-il par plate-forme? J’ai des problèmes de performances que je ne comprends pas bien. Le contexte est une carte d’acquisition de la caméra dans laquelle une image 128×128 uint16_t est lue et post-traitée à une fréquence de plusieurs centaines […]

Transposer un tableau 2D

Comment transposez-vous efficacement une masortingce? Existe-t-il des bibliothèques pour cela ou quel algorithme utiliseriez-vous? Par exemple: short src[W*H] = { {1,2,3}, {4,5,6} }; short dest[W*H]; rotate_90_clockwise(dest,src,W,H); //<– magic in here, no need for in-place //dest is now: { {4, 1}, {5, 2}, {6, 3} }; (Dans mon cas spécifique, son tableau src est constitué de […]

Existe-t-il une bibliothèque de regroupement de connexions mysql standard pour C?

J’ai une application C utilisant la bibliothèque MySQL pour accéder à la firebase database. Existe-t-il un moyen standard d’implémenter le regroupement des connexions à la firebase database pour une telle application? Le connecteur C ne semble pas le supporter.