for(int=0; i<1,000,000; i++)
{
if(data[i]< 0)
data[i]= data[i] * 2;
}
Bonjour à tous,Comment puis-je obtenir une solution de ce programme Java pour résoudre l'algorithme?
Je voudrais savoir est-il possible de calculer la vitesse absolue de cet algorithme ci-dessous si le temps qu'il faut pour exécuter un accès à la mémoire est de 100 nanosecondes et que toutes les autres opérations (arithmétique, enregistrer les accès, etc.) prendre 10 nanosecondes? Je suis assez sûr que ce problème peut être utilisé pour calculer la vitesse absolue. Je sais que nous avons déjà une des variables qui est Ta = 100 nanosecondes, non? Le reste des variables manquantes pourrait être trouvé à travers les lignes de code que j'ai fourni après que je compile cela dans le programme Java? Je l'ai compilé et exécuté, mais il ne dit pas ce dont j'ai besoin pour résoudre ce problème. Aucune suggestion?
Voici la formule que j'utilise pour calculer la vitesse absolue de cet algorithme:
T=Tna X Nna + Ta X Na;
Tna= the time to execute a memory nonaccess instruction;
Nna= the number of memory nonaccess machine language instructions executed;
Ta= the time to execute a memory access instruction;
Na= the number of memory access machine language instructions executed;
Voici le code que je vais compiler et exécuter pour voir si elle donnera quelques-unes des variables manquantes I besoin de résoudre ce problème.
Pour moi, trouver la "vitesse absolue" signifie que vous l'exécutez et voyez combien de temps cela a pris. Qu'avais tu en tête? –
@KevinAnderson Voici les étapes Déterminer le type d'instruction de chaque ligne de code, qu'il s'agisse d'un accès à la mémoire ou d'un accès autre que la mémoire. Ensuite, vous devez déterminer le nombre d'exécutions de chaque ligne. Ensuite, vous additionnez le nombre d'accès pour chaque Vous recevez les deux temps: 100 nanosecondes pour chaque instruction d'accès mémoire et 10 nanosecondes pour chaque accès non-mémoire. – dorakta
Donc par "ligne de code" vouliez-vous dire le code Java ou les bytecodes compilés? –