Comme la plupart des gens sont d'accord, encourager les développeurs à créer du code rapide en leur donnant des machines lentes n'est pas une bonne idée . Mais il y a un point dans cette question. Ma machine de développement est rapide, et donc j'écris de temps en temps du code qui est dérangeant de manière inefficace, mais cela ne devient apparent qu'en l'exécutant sur les machines d'autres personnes.
Quels sont les bons moyens de ralentir temporairement une machine de développement turbocompressée? La notion de "vitesse" comprend plusieurs facteurs, par exemple:
- Fréquence d'horloge du processeur.
- Nombre de cœurs de CPU.
- Quantité de mémoire et de cache processeur.
- Vitesse de divers bus.
- E / S disque.
- GPU.
- etc.
efficiency
Joonas Pulakka
la source
la source
Réponses:
Exécutez vos tests dans une machine virtuelle avec une mémoire limitée et un seul cœur.
Les anciennes machines que les gens peuvent encore posséder sont principalement des objets de l'ère Pentium 4. Ce n'est pas si irréaliste - j'en utilise un moi-même en ce moment. Les performances monocœur sur de nombreux PC actuels ne sont normalement pas bien meilleures et peuvent être pires. Les performances de la RAM sont plus importantes que les performances du CPU pour de nombreuses choses de toute façon, et en limitant un peu plus sévèrement que pour un ancien P4 de 1 Go, vous compensez un peu cela.
A défaut, si vous êtes prêt à dépenser un peu, achetez un netbook. Exécutez les tests à ce sujet.
la source
Le moyen de détecter une inefficacité importante de l'algorithme est de profiler votre code. La façon d'attraper la surutilisation de la mémoire consiste à comprendre d'abord la quantité de mémoire utilisée par votre cible, puis à la concevoir en conséquence et à tester régulièrement dans cet environnement.
Si vous écrivez du code threadé, les tests sur plusieurs machines avec des vitesses de processeur différentes aideront à mettre en évidence des bogues spécifiques liés au timing dans votre gestion des threads, mais des tests unitaires agressifs de la logique des threads sont indispensables.
la source
Tout ce que vous faites pour ralentir votre machine serait probablement un hack.
Voici quelques suggestions:
la source
Installez Virtual PC , créez un profil matériel , créez une machine virtuelle et commencez à jouer :)
la source
Sachez que c'est une question assez ancienne, mais pour quiconque dans cette situation; vous pouvez essayer CPUKiller. Il s'agit essentiellement d'une petite application que vous pouvez configurer pour consommer différents% de votre processeur. http://www.cpukiller.com/
la source