MEMORYTEST

wxccxw Messages postés 755 Date d'inscription samedi 15 mai 2004 Statut Membre Dernière intervention 30 janvier 2011 - 18 oct. 2004 à 16:30
cs_dominion Messages postés 230 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 15 mai 2008 - 26 oct. 2004 à 18:07
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/26921-memorytest

cs_dominion Messages postés 230 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 15 mai 2008
26 oct. 2004 à 18:07
C'est ce que je dis : vive la portabilité ;-)
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
26 oct. 2004 à 16:37
GetTickCount ne fait pas partie de la STL, c'est une méthode Win32, et DWORD est un type bien à l'API Win32.
RaphAstronome Messages postés 104 Date d'inscription samedi 7 décembre 2002 Statut Membre Dernière intervention 17 août 2009
26 oct. 2004 à 11:47
oups ...
#define DWORD unsigned long

je devais être fatigué le jour ou j'ai écrit ça !
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
26 oct. 2004 à 01:14
#define DWORD double !!!
c'etait vraiment abuse, DWORD voulant dire 32 bits.
cs_dominion Messages postés 230 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 15 mai 2008
26 oct. 2004 à 00:32
Trouvé une solution qui marche pour moi : #include <Windows.h> sans le #define DWORD double et là ça compile
cs_dominion Messages postés 230 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 15 mai 2008
26 oct. 2004 à 00:31
J'ai le même problème que juki_webmaster.
#define DWORD double ok ça marche, mais #include <Windows.h> me donne des erreurs Kmétriques (avec la majuscule ;-)) et sans cet include j'ai "GetTickCount undeclared (first use this function)"

À mon avis tu ne respecte pas la STL...
RaphAstronome Messages postés 104 Date d'inscription samedi 7 décembre 2002 Statut Membre Dernière intervention 17 août 2009
22 oct. 2004 à 16:31
Les deux lignes a ajouter c'est pour borland C++ builder, avec Dev-C++ ça marche directement. J'ai fait cette source avec Dev-C++.
juki_webmaster Messages postés 947 Date d'inscription mercredi 19 novembre 2003 Statut Membre Dernière intervention 5 avril 2008 3
21 oct. 2004 à 20:53
Salut,
J'ai compiler sous devcpp en ajoutant les deux lignes dite par Rafhastronome, et je me sort avec 31 erreurs de type :
522 c:\dev-c_~1\include\winbase.h
bit-field `double _DCB::fTXContinueOnXoff' with non-integral type
Quelqu'un peut-il me donner un peu plus d'info, ou me conseiller un meilleur compilateur de type freeware / trial
merci
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
19 oct. 2004 à 19:00
oui, de toutes facons faut pas croire que les standards sont la pour nous embrouiller, c'est justements pour eviter ce gros bordel :)
plus_plus_fab Messages postés 232 Date d'inscription vendredi 9 janvier 2004 Statut Membre Dernière intervention 8 janvier 2005
19 oct. 2004 à 18:53
encore un pb, apparemment, on met souvent des majuscules pour les unités > 1000 (donc à partir de méga : M), il faut donc voir à quoi correspond le chiffre en gros !

allez, j'adopte la norme USI :-)
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
19 oct. 2004 à 18:51
les mutliples du SI sont des majuscules (Kg, Km... mais mg, cm...)
plus_plus_fab Messages postés 232 Date d'inscription vendredi 9 janvier 2004 Statut Membre Dernière intervention 8 janvier 2005
19 oct. 2004 à 18:46
je suis un peu perplexe devant ton lien ...

Je pense qu'en france, c'est inusité en pratique (meme si c'est standardisé)
pour les petites lettres, on est d'accord que ça correspond au système métrique traditionnel ? (kilo, mega, giga noté respectivement k, m, g)

Dans la pratique, dès qu'on parle d'une mémoire, on utilise K pour Kilo, ... ,
et on "approxime" par une puissance de 2.
Ceci car une memoire contient toujours un nombre de bits égal à une puissance de 2.

Dans la pratique toujours, quand on parle du débit d'une connexion internet par exemple :
56 kbit/s 56 Kbit/s 56 000 bits par seconde.

Mais apparemment, tout ceci ne respecte aucune normes, c'est donc condamner un jour à disparaitre ... heureusement parce que c'est le fouilli !
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
19 oct. 2004 à 18:00
plus_plus_fab > désolé j'avais pas vu ton message,

pour le k et le K, c'est plutot Ki et K (voir lien)
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
19 oct. 2004 à 17:55
c'est un organisme us mais le standard est adopté, de meme notre iso c90 n'est autre que l'ansi c89

http://physics.nist.gov./cuu/Units/binary.html


plus_plus_fab >

1 Mbits = 2^20 bits
plus_plus_fab Messages postés 232 Date d'inscription vendredi 9 janvier 2004 Statut Membre Dernière intervention 8 janvier 2005
19 oct. 2004 à 17:49
par contre pour les bits,
1 Mbit = 1 000 000 bits
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
19 oct. 2004 à 17:47
et en anglais, ça fonctionne encore?

1 Mb (megabyte), ça reste 1024² bytes//octets ?

parce que si oui, je vois pas ce que l'IEC (c'est quelle nationalité) vient raconter...

enfin, c'est bien d'être au courant déjà.
plus_plus_fab Messages postés 232 Date d'inscription vendredi 9 janvier 2004 Statut Membre Dernière intervention 8 janvier 2005
19 oct. 2004 à 17:46
simplement :
1 ko = 1000 octets (systeme métrique)
1 Ko 2^10 octets 1024 octets
Ko != ko

idem pour Mo, mo etc ...

djl > quelle norme standardise ça ?
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
19 oct. 2004 à 17:42
c'est la (sainte) norme definie par l'IEC

autant 1 kbits = 2^10 bits, autant c'est completement arbitraire de dire la meme chose d'un octet

mais heureusement on perd pas complement la correspondance, suffit d'utiliser le terme kibi qui signifie kilo binaire

1 kibi octet = 2^10 octets

de meme avec mebi, gibi, ...
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
19 oct. 2004 à 16:52
?? un Mbit c'est 1024*1024 bits, et donc 1024*1024 / 8 octets.

Un Moctet (Mo) c'est 1024*1024 octet.


enfin, c'est la certitude avec laquelle je vis depuis tjs. Tu peux trouver une preuve du contraire? Je tomberais de haut O_o.
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
19 oct. 2004 à 11:54
pareil le test n'est pas assez ciblé, et les cout fausses toutes les mesures

en passant, 100 mo c'est 100 * 1000 * 1000

1 mo = 1000 * 1000
1 Mbits = 1024 * 1024

vous allez etres surpris mais ca fais partie de la norme depuis 1997 deja et peu de personnes la respectent
plus_plus_fab Messages postés 232 Date d'inscription vendredi 9 janvier 2004 Statut Membre Dernière intervention 8 janvier 2005
18 oct. 2004 à 20:08
"au temps pour moi." bonne orthographe, c'est rarissime !

Sinon, ça aurait été plus commode de faire une fonction template prenant en parametre le type avec lequel tu fais le test ...
En fait, ça teste un peu tout ce code :
fréquence, taille, qualité de la RAM
frequence CPU,
fréquence, taille du cache L2,
performance du compilateur pour optimiser le parcours des très gros tableaux,
etc ...
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
18 oct. 2004 à 19:23
oups, excuse moi, au temps pour moi.
RaphAstronome Messages postés 104 Date d'inscription samedi 7 décembre 2002 Statut Membre Dernière intervention 17 août 2009
18 oct. 2004 à 19:02
wxccxw essaye de mettre :
#define DWORD double
#include <Windows.h>

Kirua dans un premier temps le prog initialise 100 Mo de variable, chez moi c'est instantané.
Apres cela une boucle scanne 15 fois toutes les valeurs de ce tableau et c'est le temps qu'il met a scanner qui est compté pas le temps qu'il met a assigner la variable.
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
18 oct. 2004 à 18:00
ça ne teste pas la vitesse de lecture écriture de la RAM, ça teste l'efficacité de l'assignation des plages mémoires par l'OS. C'est assez différent. Ce qui prend du temps ici (notament), c'est de trouver une plage continue pour stocler ton tableau, ce qui n'est pas une mince affaire.
wxccxw Messages postés 755 Date d'inscription samedi 15 mai 2004 Statut Membre Dernière intervention 30 janvier 2011
18 oct. 2004 à 16:30
g borland C++ builder et voila ce quil me dit quand je LINK


bcc32 -g100 -j25 -O2 -k- -vi -tWC -c -IC:\CBuilderX\include -oC:\CBuilderX\samples\welcome\windows\Release_Build\main.obj HelloWorld\main.cpp
Borland C++ 5.6.4 pour Win32 Copyright (c) 1993, 2002 Borland
helloworld\main.cpp:
"main.cpp" : E2451 Symbole 'DWORD' non défini dans la fonction main(int,char * *) en ligne 10
"main.cpp" : E2379 ; manquant dans l'instruction dans la fonction main(int,char * *) en ligne 10
"main.cpp" : E2451 Symbole 'temps_debut' non défini dans la fonction main(int,char * *) en ligne 28
"main.cpp" : E2268 Appel à une fonction non définie 'GetTickCount' dans la fonction main(int,char * *) en ligne 28
"main.cpp" : E2451 Symbole 'temps_execution' non défini dans la fonction main(int,char * *) en ligne 34
"main.cpp" : W8057 Le paramètre 'argc' n'est jamais utilisé dans la fonction main(int,char * *) en ligne 68
"main.cpp" : W8057 Le paramètre 'argv' n'est jamais utilisé dans la fonction main(int,char * *) en ligne 68
*** 5 erreurs dans la compilation ***
BCC32 a quitté avec le code d'erreur : 1
La construction a été annulée à cause d'erreurs
Rejoignez-nous