realbasic-nug.fr
[Top] [All Lists]

Re: RealBasic et le multi-processing

To: REALbasic NUG French <realbasic-nug dot fr at lists dot realsoftware dot com>
Subject: Re: RealBasic et le multi-processing
From: Stephane Pinel <stephane at realsoftware dot fr>
Date: Fri, 14 Dec 2007 11:11:01 +0100
Delivered-to: listarchive at realsoftware dot com
Delivered-to: realbasic-nug dot fr at lists dot realsoftware dot com
References: <4C2AE578-6320-4816-801F-A54495B1B208 at mac dot com> <58CA338A-2766-4741-9E50-0D858DCCCE4D at realsoftware dot fr> <9AFE9C30-B4D3-4321-87C4-067EE44E9098 at mac dot com> <39960C3C-635B-4E0B-98D0-CCB51EB5FD09 at realsoftware dot fr>
Pour info, il y a une demande en cours sur le "feedback system" qui a le statut "Reviewed" et qui a rassemblé 76 votants :

http://www.realsoftware.com/feedback/viewreport.php?reportid=zcdeyyhr

L'ingénierie à Austin a donc cette demande sur leurs tablettes.

Je conseille donc à tous ceux qui sont, comme Patrick, très intéressés par cette feature de bien vouloir ajouter leur vote afin de lui donner plus de poids.


A+

---
Enregistrez-vous dès aujourd'hui pour REAL World 2008
<http://www.realsoftware.com/realworld>

---
Stéphane Pinel - REAL Software
Support Technique en Français
43, Rue Marius Aufan 92300 Levallois-Perret (FR)
http://www.realsoftware.fr

Rejoignez la communauté francophone des développeurs REALbasic :
<http://www.realsoftware.com/support/listmanager/>

Le 14 déc. 07 à 11:04, Stephane Pinel a écrit :

Patrick,

Il n'y a aucune malhonnêteté ni manque de transparence de la part de REAL Software puisque je vous confirme bien volontiers qu'à ce jour les Threads tels qu'implémentés dans REALbasic supportent le "multitâche coopératif" et ne peuvent tirer profit des architectures multicore, ainsi qu'Aaron le précisait dans les déclarations que vous avez rapporté.

Avez-vous formulé une "feature request" dans le feedback system ? Avez-vous souscrit à une telle demande (si elle préexistait) ? Désirez-vous que je le fasse pour vous ?

Cordialement.

---
Enregistrez-vous dès aujourd'hui pour REAL World 2008
<http://www.realsoftware.com/realworld>

---
Stéphane Pinel - REAL Software
Support Technique en Français
43, Rue Marius Aufan 92300 Levallois-Perret (FR)
http://www.realsoftware.fr

Rejoignez la communauté francophone des développeurs REALbasic :
<http://www.realsoftware.com/support/listmanager/>

Le 14 déc. 07 à 10:44, patrick santoni a écrit :


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.







<Prev in Thread] Current Thread [Next in Thread>