Comme Craig l’a révélé dans l’annonce de Swift, celui-ci serait de loin plus rapide que Objective-C. Mais je ne suis pas convaincu par cette comparaison, car un algorithme correctement implémenté devrait être le plus rapide en C, car il peut être hautement optimisé par le compilateur et est par nature convivial pour le matériel. Donc, […]
Je viens de passer en revue un tas de threads stack / tas ici sur Stack Overflow (et d’autres sites aléatoires trouvés via Google), et pourtant je ne trouve pas de réponse qui apporte beaucoup (le cas échéant) de profondeur au problème de la vitesse de lecture / écriture. (la plupart des réponses et des […]
Je ne sais pas quelle structure de données utiliser pour résoudre ce problème. Je veux que la structure ait: Insertion ou suppression en temps constant. Récupération de temps constant par id. Le système actuel est: J’ai un tas d’objects chacun avec un identifiant unique. Mon programme devra recevoir des demandes d’identifiant et renvoyer l’object correspondant. […]
Dans un autre sujet, on m’a dit qu’un switch peut être meilleur qu’une table de consultation en termes de rapidité et de compacité. Je voudrais donc comprendre les différences entre ceci: Table de correspondance static void func1(){} static void func2(){} typedef enum { FUNC1, FUNC2, FUNC_COUNT } state_e; typedef void (*func_t)(void); const func_t lookUpTable[FUNC_COUNT] = […]
J’écris un interpréteur de langue en C, et mon type de ssortingng contient un atsortingbut length , comme ceci: struct Ssortingng { char* characters; size_t length; }; Pour cette raison, je dois passer beaucoup de temps sur mon interprète à traiter ce type de chaîne manuellement, car C n’inclut pas la prise en charge intégrée. […]
Je réalise donc que cette question a l’air stupide (et oui, j’utilise un dual core), mais j’ai essayé deux bibliothèques différentes (Grand Central Dispatch et OpenMP), et en utilisant clock () pour chronométrer le code avec et sans les lignes qui font parallèle, la vitesse est la même. (pour le compte rendu, ils utilisaient tous […]
Je me demande quel est le meilleur moyen d’attraper les exceptions que je lance: est-ce un bloc __try / __except ou un bloc try / catch? J’écris en C ++ et le programme ne sera utilisé que sous Windows, la portabilité n’est donc pas un problème. Merci!
Je sais que tout le monde déteste GOTO et personne ne le recommande. Mais ce n’est pas la question. Je veux juste savoir quel code est le plus rapide: la boucle goto int i=3; loop: printf(“something”); if(–i) goto loop; la boucle while int i=3; while(i–) { printf(“something”); } la boucle for for(int i=3; i; i–) […]
J’écris un programme pour parsingr un graphique de réseau social. Cela signifie que le programme nécessite de nombreux access en mémoire aléatoire. Il me semble que prefetch devrait aider. Voici un petit extrait du code de lecture des valeurs des voisins d’un sumt. for (size_t i = 0; i < v.get_num_edges(); i++) { unsigned int […]
J’ai le code suivant: #pragma omp parallel { #pragma omp single { for(node* p = head; p; p = p->next) { preprocess(p); #pragma omp task process(p); } } } Je voudrais savoir quand les threads commencent à calculer les tâches. Dès que la tâche est créée avec #pragma omp task ou seulement après que toutes […]