DLL ou Module ?

Résolu
Messages postés
85
Date d'inscription
dimanche 1 avril 2001
Statut
Membre
Dernière intervention
3 août 2010
-
Messages postés
85
Date d'inscription
dimanche 1 avril 2001
Statut
Membre
Dernière intervention
3 août 2010
-
Bonjour,
Je travail actuellement sur la théorie des nombres.
Sachant que je travail sur de trés grands nombres (+100 décimales), j'utilise une DLL avec VB6 afin d'y faire des calculs.


1. Pour une question d'optimisation (vitesse de traitement), est-il préférable d'utiliser une dll exterieur, ou simplement d'implanter un code dans un module (.Bas) qui gére les grands nombres ?


2. Dans le cas où il est mieux d'implanter un code dans un module, est il mieux que ce code gère les grands nombres à l'aide des TYPES STRING ou simplement des tableaux en TYPES INTEGER ?


Merci par avance :)

6 réponses

Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
133
Il vaut mieux travailler sur des integer, bien que ca rendra le travail plus ardu je pense, ce sera bien plus efficace pour les opérations sur les nombres que le type string !
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
Personnellement, dans le cas de lourds calculs, je préfère les déporter dans une DLL écrite en C.

Mais ce n'est que mon avis personel

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
133
Un code VB6 codé directement dans le programme sera bien plus rapide qu'un code vb6 dans un dll ActiveX !
De même qu'un code C dans un ActiveX, car tu es limité par l'interface de l'activeX qui bride les performances (bien que ca ne doit pas être énorme je pense).

Mais comme le dit casy, le plus efficace, s'il s'agit de lourds calculs uniquement, de le coder dans une vraie dll en C !

Mais attention : si tu appelle trop souvent une (ou plusieurs) fonctions de cette dll, alors tu y gagnera rien (voir même, tu y perdras) car un appel à une fonction dans une dll est bien plus lent qu'un appel d'une fonction interne à un programme VB.
Messages postés
85
Date d'inscription
dimanche 1 avril 2001
Statut
Membre
Dernière intervention
3 août 2010

Merci pour vos réponses. Je vais finalement créer la gestion dans un module.
En ce qui concernet le typage des variables, il vaut mieux que les nombres soit traité dans un tableau INTEGER ou en STRING ?
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
49
pour rester dans VB, si tu ne veux pas ou ne peux pas passer par du C (qui serait en effet conseillé), la dll ActiveX ira néanmoins plus vite pendant la conception du projet.
cad quand tu compileras ton projet il sera plus efficace si ton module est compilé avec.

par contre en IDE l'activeX te fera gagner du temps (sans compter qu'en pas à pas tu échappes à son contenu).
nb : si dll ActiveX tu devras avoir un module de classe

++
<hr size="2" width="100%" />Prenez un instant pour répondre à ce sondage svp
Messages postés
85
Date d'inscription
dimanche 1 avril 2001
Statut
Membre
Dernière intervention
3 août 2010

Merci pour vos réponse, je vais prendre donc le module qui est sur le site http://www.xtremevbtalk.com/showthread.php?t=190324&page=1&pp=20&highlight=WITHOUT+STRING+MATH

merci encore :)