Stéphane,
TIGRE et encore plus LEOPARD, tirent parti du multitâche préemptif
(emploi de processus légers sur plusieurs processeurs). Il en va de
même de XP, VISTA et LINUX.
Voilà pour les OS
Concernant les langages de programmation, JAVA le permet aussi.
Concernant REALBASIC, la seule manière dont on dispose pour faire
tourner plus vite le code (sur un seul processeur donc !!!) est donc
d'acheter une nouvelle machine tirant partie d'un processeur plus
rapide.
Dans mon application de planning, les performances sont les suivantes :
Lorsque je fais un scrolling sur 31 jours, je fais un appel intensif
aux API graphiques de REALBASIC (donc le seul processeur, la carte
graphique, le bus - Je travaille en RAM)
sur un powerbook G4 d' 1 seul processeur MOTOROLA à 1 Ghz => 30
secondes ( un peu lent)
sur un IMAC bi-processeurs MEROM 2.33 Ghz => 13 secondes (rapide) - je
passe d'un processeur à 1 GHz à un processeur à 2.33 Ghz, la carte
graphique étant plus puissante
Si j'achète un MacPRO penryll 3.33 Ghz - 4 coeurs, je n'utilise qu'1
seul coeur (les 3 autres sont inemployables actuellement avec
REALBASIC) et j'obtiendrai mécaniquement les performances suivantes
=> 6 secondes voire moins (très rapide - c'est ce que je cherche à
atteindre)
Naturellement, cette option d'achat est non jouable parce que ma
clientèle de base est celle équipée de bi-processeurs à 2 Ghz.
REALBASIC doit permettre à terme de tirer partie des multi-coeurs
comme le font les OS et les langages comme JAVA. Ca économise l'achat
onéreux de machines ultra puissante par les clients.
Ainsi une nouvelle classe ThreadMultiCore tirant partie de plusieurs
coeurs devra être développée par REAL SOFTWARE pour ses développeurs
REALBASIC.
Mais ne connaissant pas tout, peut être y a t il un moyen d'accélérer
la vitesse du code que j'ignore ? (exceptée celle de l'optimisation du
code que je maîtrise bien)
Ceci dit, je trouve que REAL SOFTWARE manque d'honnêteté et de
transparence concernant la vérité sur une telle affaire. Le Roi est nu
mais c'est le Roi.
Merci tout de même à REAL SOFTWARE EUROPE de reconnaître, en ce qui
les concerne, la réalité des choses.
Cordialement
Le 14 déc. 07 à 10:10, Stephane Pinel a écrit :
Patrick,
Les affirmations d'Aaron Ballman sont toujours d'actualité en effet.
Cordialement.
Bonjour,
Je voudrais une bonne fois pour toute tirer l'affaire au clair de
savoir si REALBASIC permet grâce à la classe Thread tirer parti de
plusieurs processeurs.
Je note d'abord ceci :
Un processus léger (thread), également appelé fil d'exécution
(autres appellations connues: unité de traitement, unité
d'exécution, fil d'instruction, processus allégé), est similaire à
un processus car tous deux représentent l'exécution d'un ensemble
d'instructions d'un processeur. Du point de vue de l'utilisateur,
ces exécutions semblent se dérouler en parallèle. Toutefois, là où
chaque processus possède sa propre mémoire virtuelle, les processus
légers appartenant au même processus père se partagent sa mémoire
virtuelle.
Les systèmes d’exploitations mettent en œuvre généralement les
processus légers soit par le multitâche coopératif, soit par le
multitâche préemptif, bien que le multitâche coopératif soit de
plus en plus souvent considérée comme obsolète.
Ayant obtenu différentes notes explicatives de la classe Thread sur
le site payant http://www.rblibrary.com et les ayant bien lu, j'ai
constaté ceci :
D’après Aaron BallMan de REAL Software, REAL Basic utilise le
multitâche coopératif (plus simple à mettre en oeuvre mais obsolète
- là, c'est moi qui parle) ce qui le rend inapte à tirer bénéfice
de plusieurs processeurs contrairement au multitâche préemptif.
( c'est ce que dit Ballman !!)
Ma question est donc de savoir si, effectivement, il ne sert à rien
en l'état actuel de REALBASIC, d'acheter des machines quadri-coeurs
si de toutes les façons il est impossible d'utiliser plus d'1 coeur
avec REALBASIC, même si d'aventure on utilisait finement la classe
Thread.
Cette affirmation de BallMan tient compte des amélioration de la
classe Thread apparues dans les Releases 2005. Depuis 2005, il n'y
a rien eu de nouveau pour cette classe.
Merci d'avance à REAL Software Europe pour sa réponse.
|