DelphiCon 2021 : Multi-Threaded Programming on Apple's Mac M1 vs Mac Core i9 vs Windows Core i7

Olaf Monien a proposé des comparatifs de vitesse de calcul sur plusieurs configurations sous Windows et macOS.

La comparaison avec des appareils sous Windows ou macOS à processeurs Intel sur des calculs mathématiques lancés sous forme de threads est vraiment bluffante. Les résultats étant parfois étonnants.

Ce comparatif a été rendu possible grâce aux compilateurs proposés avec Delphi : Windows, macOS pour processeur Intel et macOS pour processeur ARM (Apple Silicon M1).

Après avoir expliqué le projet et détaillé les chiffres, Olaf est entré dans le détail des sources du programme de test. Il a montré l'utilisation de la librairie parallèle de Delphi (System.Threading) et des threads comme de la structure permettant d'obtenir des informations sur la version du système d'exploitation (TOSVersion).

Pour bouriner un peu sur les processeurs il est parti sur un calcul des nombres premiers en utilisant le crible d'Erathostène.

Il a aussi partagé quelques astuces sur l'utilisation des files de messages proposées dans FireMonkey et celle de classes helpers pour rendre des méthodes thread safe alors qu'elles ne le sont pas à la base.

Une session à revoir depuis sa page de la DelphiCon.


A lire aussi

DelphiCon 2021 : Multi-Threaded Programming on Apple's Mac M1 vs Mac Core i9 vs Windows Core i7 (17/11/2021)
Comment faire dialoguer deux logiciels ou appareils en Bluetooth avec Delphi ? (10/02/2021)
Evitons des violations d'accès aléatoires dans les tâches (09/10/2020)
Les pièges de l'encodage lors de l'ouverture de fichiers textes. (21/09/2020)
Insérer un enregistrement dans un ensemble de données depuis une grille avec LiveBindings (30/05/2020)
Eviter les fuites de mémoire lors de la manipulation d'objets JSON (11/05/2020)
Pourquoi vouloir ajouter ()?: au Pascal alors qu'on a ifthen() ? (11/05/2020)
Plutôt INI ou JSON pour stocker vos paramètres ? (11/05/2020)
Quel composant utiliser pour dialoguer sur le port série de l'ordinateur ? (31/05/2019)
Utilisation de processus sous Delphi : fonctionnement de base. (30/07/2018)
Les threads et le blocage des écrans (30/07/2018)
Evitez les plantages causés par une mauvaise utilisation de la librairie System.JSON (18/04/2018)
Calculer et vérifier un checksum pour dialoguer avec l'extérieur (19/07/2017)
Télécharger simplement un fichier via Internet en tâche de fond (10/07/2017)
Calculer un MD5 sous Delphi (04/07/2017)
Passer un traitement lourd en tâche de fond sans bloquer l'écran (04/06/2017)
Ajouter des chaînes de caractères vides dans un objet JSON (19/05/2017)
Configurer le firewall de McAfee AntiVirus Plus pour utiliser l'App Tethering (28/06/2016)

Membre du programme MVP.
Membre du programme MVP