Ouvrir le menu principal

MacGeneration

Recherche

Swift 5.8 : un bon cru en amont de la WWDC 2023

Florent Morin

jeudi 02 mars 2023 à 20:30 • 5

Logiciels

Mi-février, Apple nous présentait la première version beta de Xcode 14.3 qui accompagnera notamment iOS 16.4 et macOS 13.3. Comme chaque année en cette période, nous avons également droit à une nouvelle version de Swift. De quoi se préparer aux avancées présentées lors de la WWDC 2023.

Swift Concurrency

Swift 6 devrait exploiter le plein potentiel des cœurs des puces Apple Silicon sans trop prendre la tête des développeurs. Pour tenir cette promesse et bénéficier d’une adoption rapide, les différentes itérations de Swift 5 permettent aux développeurs de préparer le code et de bénéficier déjà d’avantages significatifs en ce sens.

Avec les DiscardingTaskGroups, l’objectif est de résoudre un problème un peu pénible dans Concurrency. Les groupes de tâches (Task Group) permettent d’exécuter plusieurs tâches en même temps et de récupérer les données renvoyées par les traitements. Sauf que, lorsqu’on fait ça, les tâches sont mises en attente. En général, ce n'est pas un problème, à l'exception de certains cas où on utilise des valeurs de type Void (vide) en retour. Parce qu’on n’a pas toujours besoin d’une valeur en retour, comme sur un serveur qui attend des connexions. Dans ce cas, cela crée un nombre important de tâches en parallèle et les données des tâches sont stockées en mémoire tant qu'elles ne sont pas toutes exécutées.

On doit donc utiliser un autre mécanisme pour éviter au programme de se faire désactiver par le système. Et c’est là que withDiscardingTaskGroup et withThrowingDiscardingTaskGroup interviennent. Puisque ces tâches n’attendent aucune valeur en retour, on ne prend pas le risque de créer des fuites mémoires en utilisant ce type de groupe. C’est adapté à l’usage.

Avant et après withThrowingDiscardingTaskGroup

D’autres petites choses vont arriver, probablement avec Swift 5.9 ou 5.8. Les fameux actors ont eux aussi été améliorés. En gros, on pouvait créer involontairement des accès concurrents problématiques aux données d’un actor lors de son initialisation. L’idée est de créer des alertes avec Swift 5 qui préciseront que ce sont des erreurs de compilation avec Swift 6. À ce stade, cela n’est pas intégré à Xcode 14.3, mais ça peut venir plus tard.

Cet article est réservé aux membres du Club iGen


Rejoignez la plus grande communauté Apple francophone et soutenez le travail d'une rédaction indépendante. Le Club iGen, c'est:

  • des articles de qualité rien que pour vous
  • un podcast exclusif
  • pas de publicité
  • un site dédié !

Rejoignez le Club iGen

Soutenez le travail d'une rédaction indépendante.

Rejoignez la plus grande communauté Apple francophone !

S'abonner

Tim Cook, plus que jamais dans les petits papiers de Donald Trump

17/04/2025 à 21:30

• 25


Guide d’achat : quel MacBook acheter en ce début 2025 ?

17/04/2025 à 20:30

• 2


Meta a réfléchi un temps à étendre l’option payante de Facebook aux USA

17/04/2025 à 20:15

• 5


Un SSD usé n'est pas une bonne solution pour préserver des données

17/04/2025 à 18:29

• 17


Promo : -280 € sur l'iMac M4 avec écran nano-texturé

17/04/2025 à 16:43

• 2


Incogni lance un plan Unlimited (et c’est une petite révolution dans la protection des données) 📍

17/04/2025 à 15:58

• 0


AmigaOS 3 continue à être mis à jour, près de 30 ans plus tard

17/04/2025 à 15:50

• 32


Promo : jusqu'à 10 % de remise sur les MacBook Pro et MacBook Air M4

17/04/2025 à 14:56

• 6


Voici le moyen le moins cher d’obtenir Microsoft Office à vie sur Mac en avril 📍

17/04/2025 à 13:14

• 0


Le Snapdragon X 2 Elite sur les rails, jusqu'à 22 % plus rapide

17/04/2025 à 12:00

• 5


Fitness+ : une salle de sport bretonne attaque Apple pour contrefaçon et concurrence déloyale

17/04/2025 à 11:57

• 41


Synology espère rendre ses propres disques durs obligatoires dans ses nouveaux NAS

17/04/2025 à 11:30

• 91


Orange ajuste la Série Spéciale Livebox Fibre : 30 € par mois et une Livebox 6

17/04/2025 à 11:10

• 21


L'industrie des semi-conducteurs paie les pots cassés de la politique de Trump

17/04/2025 à 10:09

• 42


Utilisez-vous les catégories dans Mail d'iOS 18.4 et macOS 15.4 ?

17/04/2025 à 09:00

• 56


Les apps d’Apple ne sont plus imposées sur iPhone : voici les alternatives que vous pouvez définir par défaut

17/04/2025 à 08:59

• 55