[Swift vs ObjectiveC] collection data

jeudi 12 mai 2016

3 types de collections possible

  • Array
  • Dictionnary
  • Sets

Une collection data permet de manipuler plusieurs éléments comme une seule entité, impose une structure et permet efficacement d’insérer, supprimer et récupérer des éléments.

Big-O permet de décrire l’efficacité d’une opération sur une structure de donnée. C’est-à-dire pouvoir mesurer combien de place mémoire la structure utilise, combien de temps une opération dans le pire des cas prend en moyenne.

Swift a améliorer la performance des structures de donnée.

En Swift:
Let => immutable
var => mutable

Array:

L’utilisation de tableau est plus utilisé lorsque vous souhaitez trier des prénoms/nom ou des dates de tâches par exemple.
La création d’un tableau est ce qui prend le plus de temps en performance mais ceci étant dit on ne le créé qu’une seule fois mais les autres opérations qu’on le fait plus souvent comme la recherche, l’ajout et suppression prenne beaucoup moins de temps. Swift est plus rapide que Foundation, il est plus significatif avec swift 2.0.
L’ajout d’éléments au début d’un tableau est beaucoup plus lente en swift.
Au milieu du tableau, l’ajout d’élément est un peu plus lente en swift.
A la fin du tableau par contre c’est plus rapide en swift.
Concernant la suppression d’objet en début, milieu et fin de tableau prend plus de temps en Swift.
Par contre concernant la recherche d’objet dans un tableau est beaucoup plus performante en swift.

Dictionnaries:

Les dictionnaires sont mieux utilisés lorsqu’il n’y a pas un ordre particulier à ce que vous avez besoin de stocker, mais les données a une association significative.
Comme les tableaux Swift, les dictionnaires sont plus rapides dans le temps que les dictionnaires de la Foundation, bien que la performance est très, très proche.

Sets:

Un set est une structure de données qui stocke les valeurs (keys) uniques désordonnées. Les mots clés (keys) sont donc unique et vous ne serez donc pas en mesure d’ajouter un duplicata.
Pour un set, on définit un type et donc tous les keys sont de même type !

Swift a vu des améliorations de performances très significatives dans la performance de la structure de données de collecte dans sa vie publique à court, et nous espérons continuer à les voir évolue comme Swift.

Tags: set , Swift