PHP utilise des entiers non signés partout? j'ai un sérieux doute... La limite en entier signé est 2x moindre, donc 2.1G environ
Nope, ca dépend des cas: array_map sera par exemple bien plus efficace et élégant qu'un foreach, sous condition d'avoir besoin du tableau d'entrée et du tableau de sortie (autrement dit, une copie, et non une modification du tableau original).
Après, tu utilises un tableau, avec année_limite=>nom_ère: y'a peut-être mieux (mais j'ai rien en tête pour l'instant)
En fait, ce qui m'embête (OSEF dans le cas d'un si petit tableau, mais c'est toujours bien de savoir faire mieux), c'est que trouver le nom d'une période donnée est en O(n) (on doit parcourir tout le tableau), alors que l'accès à un élément d'un tableau est en O(1), donc, je me demande s'il n'y aurait pas un peu plus performant et élégant qu'un "bête" parcours du tableau des années de fin des ères (ou de début des ères).
Autre truc qui me chiffonne justement: si la frise chronologique est infinie des deux cotés (pas de temps 0, pas de temps final butoir), alors on sauve quoi? L'année de début? l'année de fin de l'ère? Dans les deux cas, il faudra avoir un cas particulier pour la première ou la dernière ère (et les cas particuliers, c'est pas beau :p)
Dernier élément: foreach appelé "implicitement" en utilisant les fonctions spécifiques aux tableaux sera plus rapide qu'un foreach appelé explicitement pour parcourir le tableau. En d'autres mots, si tu refais le même algorithme que, par exemple, sort() mais encodé en PHP (via foreach), alors tu auras des performances moindres (ou au mieux, égales, et encore, ca m'épaterait franchement!)
Nope, ca dépend des cas: array_map sera par exemple bien plus efficace et élégant qu'un foreach, sous condition d'avoir besoin du tableau d'entrée et du tableau de sortie (autrement dit, une copie, et non une modification du tableau original).
Après, tu utilises un tableau, avec année_limite=>nom_ère: y'a peut-être mieux (mais j'ai rien en tête pour l'instant)
En fait, ce qui m'embête (OSEF dans le cas d'un si petit tableau, mais c'est toujours bien de savoir faire mieux), c'est que trouver le nom d'une période donnée est en O(n) (on doit parcourir tout le tableau), alors que l'accès à un élément d'un tableau est en O(1), donc, je me demande s'il n'y aurait pas un peu plus performant et élégant qu'un "bête" parcours du tableau des années de fin des ères (ou de début des ères).
Autre truc qui me chiffonne justement: si la frise chronologique est infinie des deux cotés (pas de temps 0, pas de temps final butoir), alors on sauve quoi? L'année de début? l'année de fin de l'ère? Dans les deux cas, il faudra avoir un cas particulier pour la première ou la dernière ère (et les cas particuliers, c'est pas beau :p)
Dernier élément: foreach appelé "implicitement" en utilisant les fonctions spécifiques aux tableaux sera plus rapide qu'un foreach appelé explicitement pour parcourir le tableau. En d'autres mots, si tu refais le même algorithme que, par exemple, sort() mais encodé en PHP (via foreach), alors tu auras des performances moindres (ou au mieux, égales, et encore, ca m'épaterait franchement!)