Les services Web préemptifs permettent à vos applications de tirer pleinement parti des ordinateurs multicœurs, ce qui se traduit par des réponses plus rapides aux demandes simultanées. Ce n’est pas seulement puissant, c’est aussi facile : dans les propriétés de n’importe quelle méthode, il suffit de sélectionner l’option « Peut être exécuté dans des processus préemptifs » et c’est parti !
Une méthode 4D peut être préemptive ou non selon les options de compilation et l’utilisation du langage, comme expliqué dans ce billet.
Par défaut, lorsque le serveur de services Web reçoit plusieurs demandes, il utilise des threads coopératifs pour les traiter, c ‘est-à-dire tous les processus fonctionnant sur un seul cœur. Maintenant, si vous autorisez vos méthodes à être utilisées dans des threads préemptifs, 4D utilise tous les cœurs disponibles pour exécuter plusieurs tâches en parallèle.
Par exemple, la vidéo ci-dessous montre une réduction du temps de réponse divisé par 3 :
Comme vous pouvez le constater, le mode préemptif augmente la vitesse de vos requêtes car la puissance de tous les processeurs est engagée.
Nouvelles commandes Thread safe
Toutes les commandes du Service Web sont désormais thread-safe.
Commandes du serveur :
Commandes client :