Nouveau PC

icon 06/11/2015 - Commentaires fermés

Depuis 2 semaines j'ai mon nouveau PC.

La config
Mon ancienne config : I7 860 / ATI HD5770 / 4Go RAM
La nouvelle :
  • Processeur : Intel Core I7 5820k
  • Radiateur processeur : Noctua NH-U12S
  • Carte mère : MSI X99A RAIDER
  • Carte graphique : Gigabyte GeForce GTX 980 Ti G1 Gaming - 6 Go
  • RAM : Corsair Vengeance LPX Black DDR4 2 x 8 Go 2133 MHz CAS 13
  • SSD : Samsung Serie 850 EVO - 500 Go
  • Boitier : Fractal Design R5
  • Alimentation : Be Quiet Pure Power L8 Modulaire 730W
  • OS : Linux Mint
  • Écran : 2 écrans 22' 1920x1080

La carte graphique à un refroidissement semi-passif. Les ventilateurs se déclenchent quand la température dépasse 60°C.
Cette fonction est gérée par les pilotes, avec les pilotes propriétaire Nvidia ça fonctionne, je n'ai pas testé avec d'autres pilotes.

Je n'ai pas eu de problèmes de compatibilité avec les composants et Linux Mint.

Jeux vidéos
Que c'est bien de pouvoir mettre tous les jeux au max sans se demander si le PC va supporter :)
Les jeux testés :
  • ARK: Survival Evolved, le jeu est en Eraly Access et n'est pas encore optimisé, j'ai parfois des chutes de FPS. Mais c'est beau. Sur mon ancien PC il me fallait 7 minutes pour lancer le jeu au mini (et à 15 FPS), avec le nouveau en 20 sec c'est lancé !
  • Borderlands 2 : C'est beau aussi.
  • Unreal Tournament : c'est en pré alpha, mais le rendu est superbe.
  • Minecraft : Avec les Shaders c'est très beau.

Rendu 3D Blender (Cycles)
En rendu 3D avec le processeur j'ai divisé le temps par 2 !
Pour le rendu 3D avec la carte graphique ça dépend des scènes, sur celle que j'ai testé le temps de rendu est équivalent avec le processeur.
En revanche la carte graphique est plus rapide sur les previews.

Quelques screenshots
Borderlands 2
Borderlands 2
Borderlands 2

Unreal Tournament
Unreal Tournament

Minecraft
Minecraft
Minecraft
Minecraft

icon Tags de l'article : , ,

Au revoir Windows...

icon 21/09/2015 - Commentaires fermés

Depuis 2 jours je n'ai plus de Windows sur mon PC fixe (mon PC principal que j'utilise pour les jeux).
Je suis passé de Windows 7 à Linux Mint 17.2

Pour un Gamer dire adieu à Windows n'est pas facile !

Pourquoi j'ai quitté Windows :
  • Les trackers et autres logiciels espion inclut dans Windows 10 (et aussi via des mises à jour dans 8.1 et 7). C'est aussi pour cette raison que je suis passé d'Android à Firefox OS.
  • Le passage obligé à Windows 10 dans quelques années : fin du support de Windows 7 / non compatibilité des jeux avec Windows 7 (comme ce fut le cas avec XP / Vista)

Pourquoi je suis passé à Linux Mint 17.2 (Cinnamon) :
  • Mise à part certains jeux, tous les logiciels que j'utilise fonctionne nativement sous Linux ou alors il existe un équivalent.
  • Les logiciels que j'utilise avec Windows y sont installés par défaut : Firefox / Thunderbird / Pidgin / VLC / Gimp
  • Bonne gestion de mon matériel.
  • Simple d'utilisation

Astuces pour le passage Windows => Linux

Thunderbird : récupération des mails et de la configuration
  • [Windows] Copier le contenu du dossier c:/user/nom_user/AppData/Roaming/Thunderbird/Profiles/xxxxxx.default/
  • [Linux] Lancer une fois Thunderbird et choisir de configurer le compte plus tard
  • [Linux] Fermer Thunderbird
  • [Linux] Coller les fichiers dans le dossier /home/nom_user/.thunderbird/xxxxxx.default/
  • [Linux] Lancer Thunderbird

Firefox : récupération des favoris et mot de passe
  • [Windows] Copier le fichier c:/user/nom_user/AppData/Roaming/Mozilla/Firefox/Profiles/xxxxxx.default/places.sqlite pour les favoris
  • [Windows] Copier le fichier c:/user/nom_user/AppData/Roaming/Mozilla/Firefox/Profiles/xxxxxx.default/logins.json pour les mots de passe
  • [Windows] Copier le fichier c:/user/nom_user/AppData/Roaming/Mozilla/Firefox/Profiles/xxxxxx.default/key3.db pour les mots de passe
  • [Linux] Lancer Firefox et fermer le.
  • [Linux] Coller les fichiers dans le dossier /home/nom_user/.mozilla/firefox/xxxxxx.default/
  • [Linux] Lancer Firefox

Où trouver des jeux pour Linux ?

... Bonjour Linux

icon Tags de l'article : , ,

ZTE Open C : Suite et passage en version 2.1

icon 12/01/2015 - Commentaires fermés

Version 1.3

Après 5 mois d'utilisation voici mes impressions.

Je trouve le bouton d'allumage du téléphone imprécis : il faut parfois appuyer plusieurs fois dessus pour que le téléphone s'allume.

5 mois sans réinitialisation : le téléphone à du mal à fonctionner correctement :
- La led de notification ne s'allume plus : c'est un problème logiciel.
- Impossible d'envoyer un MMS sans faire un reboot du téléphone avant.
- Je reboot souvent le téléphone (trop souvent) : le téléphone est très lent : 3 à 4 secondes pour allumer l'écran et 2 secondes supplémentaires pour le déverrouiller.
- Le téléphone affiche qu'il est en 3G mais impossible de charger une page Internet ou d'actualiser les mails : obliger de reboot.

Version 2.1
En ayant marre de ces soucis je vient de le rooter et de le passer en 2.1 en suivant ce tuto : http://builds.firefoxos.mozfr.org/doc/fr/devices/zte-open-c-fr
Suite au reboot : la led fonctionne de nouveau :)

Temps pour rooter le téléphone et faire la mise à jour en 2.1 : moins de 10 minutes !

Première impression sur la version 2.1 :
- Changement de look : faut s'habituer au nouveau look et aimer le scroll vertical.
- La petite croix pour fermer les applications ouvertes fonctionne mieux (on est plus obliger de cliquer 5 fois dessus).
- Gestion des doublons lors de l'import des contacts.

Quelques petits bugs :
- La 3G a eu du mal à s'accrocher.
- Le bouton home n'est plus retro éclairé

Il me reste à re configurer mes mails, mais pour l'instant ça ma l'air bien.

A suivre ...

icon Tags de l'article :

ZTE Open C : Premières impressions

icon 04/08/2014 - Commentaires fermés

J'ai acheté le ZTE Open C pour remplacer mon ancien téléphone : un HTC Desir.
Voici mes premières impression sur ce téléphone.

Le contenu de la boite
ZTE Open C
C'est classique : chargeur, kit mains libre et quelques papiers.
A noter la présence d'un autocollant Firefox OS.

Le téléphone
ZTE HTC
A gauche le ZTE Open C, à droite le HTC Desir.

ZTE HTC
Au dessus le HTC Desir, en dessous le ZTE Open C.

A peine plus grand que le HTC Desir.
Le ZTE Open C est en plastique, les finitions sont bonnes.

Configuration
Pour la téléphonie je suis chez FreeMobile.
Quelques minutes après le démarrage du téléphone j'ai reçu un message de FreeMobile pour configurer automatiquement les APN, j'ai juste eu à cliquer "Accepter".

Import des contacts
J'ai exporté les contacts de mon HTC Desir sur la carte micro SD, puis j'ai mis cette micro SD sur le ZTE Open C
Firefox Os propose lors du 1er lancement de l'application contact d'importer des contacts, j'ai choisi d'importer les contacts depuis la carte micro SD mais ça n'a pas fonctionné.
J'ai donc transféré le fichier généré par mon HTC sur mon ZTE via Bluetooth, et là je n'ai pas eu de problèmes.

Lors de l'import sur mon ZTE je me suis retrouvé avec plusieurs doublons. Je pense que mon HTC masquait les doublons, ou qu'il a exporté les contacts qui étaient sur le téléphone et sur sur mon compte gmail.
Firefox Os propose une fonctionne pour rechercher les doublons et les fusionner. Par contre il faut le faire pour chaque contacts en double.
De même il n'est pas possible de supprimer plusieurs contacts en une fois.

Comptes mails
Pour les mails j'ai plusieurs comptes chez OVH. Sur le PC fixe j'utilise Thunderbird. Sur mon HTC j’utilisai K9.
J'ai ajouté un compte sur le ZTE (adresse mail / mot de passe), les paramètres sont reconnu automatiquement.
La liste des mails s'affiche bien, par contre dès que j'ouvre un mail : impossible de voir le contenu. Il y a un logo de chargement qui tourne ...
Le problème viens de certains dossiers IMAP, je ne sais pas quelle application à créés ces dossiers mais en les supprimant ça fonctionne.
Sur mon PC via Thunderbird j'ai supprimé le dossier "INBOX" qui contient Trash/Sent/Junk/Drafts.
Ensuite j'ai supprimé puis ajouté le compte sur le ZTE, et ça fonctionne !
Source : https://support.mozilla.org/fr/questions/980630

Le navigateur
C'est Firefox mais en version ultra ultra ultra légère : il n'y a aucunes options de configuration.
Seulement 2 "paramètres"
- Effacer l'historique
- Effacer les cookies et données
Le moteur de recherche par défaut est Google, et on ne peux pas le changer.

A suivre ...

icon Tags de l'article :

sykius.fr en 2013

icon 07/01/2014 - Commentaires fermés

Mon site existe depuis 2011, mais a souvent changé de forme (Joomla, rien, re Joomla, rien, ...)
Depuis 2013 il est "stable" :
  • Pour le blog : Blogotext, merci Le Hollandais Volant
  • Pour les liens : Shaarli, merci Sebsauvage
  • Pour les snippets : SnippetVamp, merci Bronco
  • Pour le reste, c'est fait maison

Pour les stats j'utilise AWStats.

Voici les stats (elles ne tiennent pas compte des robots).

Visites
mois2013
Pour septembre c'est l'effet Sebsauvage :)
La partie la plus visitée de mon site c'est mon Shaarli : 54 582 pages vues.

Systèmes d'exploitation
  • Windows : 60.1%
  • Inconnu : 29.8%
  • Linux : 7.1%
  • Macintosh : 2.8%

Navigateurs
  • Firefox : 54.4%
  • Inconnu : 25%
  • Chrome : 8.1%
  • IE : 3.9%

Visites robots (bots de référencement, lecteurs rss, ...)
Assez peu d'info avec AWStats.
  • 500 345 pages
  • 6.30 Go de bande passante

Hébergement
  • Serveur dédié Kimsufi 2G (version 2011)
  • Intel(R) Atom(TM) CPU D425 @ 1.80GHz
  • 2Go RAM
  • 1To HDD

J'utilise aussi mon serveur pour :
  • OpenVPN
  • Jabber
  • Serveur de jeu Minecraft

icon Tags de l'article :

PHP - Extraction d'une date à partir d'une chaîne de caractère

icon 01/10/2013 - 2 commentaires

Comparaison de différentes méthodes pour extraire le jour, le mois et l'année du chaîne de caractère au format "2011-09-15 00:00:00.000".
4 méthodes testées : substr, explode, preg_match, DateTime.

Résultat des tests :

Temps moyen pour traiter 500 dates. 1000 essais effectués.
Test 1Test 2Test 3
TypeWEBCLIWEB
OSDebian 6.0.7Windows 7Linux Mint 15
PHP5.3.35.4.125.4.9
Apache2.2.16-2.2.22
Substr2.7664ms0.5547ms0.3724ms
Explode4.6522ms0.9966ms0.6179ms
PregMatch5.7293ms1.7454ms0.6429ms
DateTime27.9616ms7.8209ms3.9994ms

Le plus rapide est d'utiliser substr, DateTime est beaucoup trop long !

Le code utilisé pour les tests :

<?php
if (isset($_SERVER["SERVER_PROTOCOL"]))
    echo "<pre>";
$data = array('2011-09-15 00:00:00.000', '2011-09-22 00:00:00.000', '2011-09-23 00:00:00.000', '2011-09-26 00:00:00.000', '2011-09-27 00:00:00.000', '2011-09-28 00:00:00.000', '2011-10-05 00:00:00.000', '2011-10-06 00:00:00.000', '2011-10-07 00:00:00.000', '2011-10-11 00:00:00.000', '2011-10-13 00:00:00.000', '2011-10-19 00:00:00.000', '2011-10-20 00:00:00.000', '2011-10-21 00:00:00.000', '2011-10-25 00:00:00.000', '2011-10-26 00:00:00.000', '2011-10-27 00:00:00.000', '2011-10-31 00:00:00.000', '2011-11-02 00:00:00.000', '2011-11-03 00:00:00.000', '2011-11-04 00:00:00.000', '2011-11-07 00:00:00.000', '2011-11-08 00:00:00.000', '2011-11-09 00:00:00.000', '2011-11-10 00:00:00.000', '2011-11-14 00:00:00.000', '2011-11-15 00:00:00.000', '2011-11-16 00:00:00.000', '2011-11-17 00:00:00.000', '2011-11-18 00:00:00.000', '2011-11-21 00:00:00.000', '2011-11-22 00:00:00.000', '2011-11-23 00:00:00.000', '2011-11-24 00:00:00.000', '2011-11-25 00:00:00.000', '2011-11-28 00:00:00.000', '2011-11-29 00:00:00.000', '2011-11-30 00:00:00.000', '2011-12-01 00:00:00.000', '2011-12-02 00:00:00.000', '2011-12-05 00:00:00.000', '2011-12-06 00:00:00.000', '2011-12-07 00:00:00.000', '2011-12-08 00:00:00.000', '2011-12-09 00:00:00.000', '2011-12-12 00:00:00.000', '2011-12-13 00:00:00.000', '2011-12-14 00:00:00.000', '2011-12-15 00:00:00.000', '2011-12-16 00:00:00.000', '2011-12-19 00:00:00.000', '2011-12-20 00:00:00.000', '2011-12-21 00:00:00.000', '2011-12-22 00:00:00.000', '2011-12-23 00:00:00.000', '2011-12-26 00:00:00.000', '2011-12-27 00:00:00.000', '2011-12-28 00:00:00.000', '2011-12-29 00:00:00.000', '2011-12-30 00:00:00.000', '2012-01-02 00:00:00.000', '2012-01-03 00:00:00.000', '2012-01-04 00:00:00.000', '2012-01-05 00:00:00.000', '2012-01-06 00:00:00.000', '2012-01-09 00:00:00.000', '2012-01-10 00:00:00.000', '2012-01-11 00:00:00.000', '2012-01-12 00:00:00.000', '2012-01-13 00:00:00.000', '2012-01-16 00:00:00.000', '2012-01-17 00:00:00.000', '2012-01-18 00:00:00.000', '2012-01-19 00:00:00.000', '2012-01-20 00:00:00.000', '2012-01-23 00:00:00.000', '2012-01-24 00:00:00.000', '2012-01-25 00:00:00.000', '2012-01-26 00:00:00.000', '2012-01-27 00:00:00.000', '2012-01-30 00:00:00.000', '2012-01-31 00:00:00.000', '2012-02-01 00:00:00.000', '2012-02-02 00:00:00.000', '2012-02-03 00:00:00.000', '2012-02-06 00:00:00.000', '2012-02-07 00:00:00.000', '2012-02-08 00:00:00.000', '2012-02-09 00:00:00.000', '2012-02-10 00:00:00.000', '2012-02-13 00:00:00.000', '2012-02-14 00:00:00.000', '2012-02-15 00:00:00.000', '2012-02-16 00:00:00.000', '2012-02-17 00:00:00.000', '2012-02-20 00:00:00.000', '2012-02-21 00:00:00.000', '2012-02-22 00:00:00.000', '2012-02-23 00:00:00.000', '2012-02-24 00:00:00.000', '2012-02-27 00:00:00.000', '2012-02-28 00:00:00.000', '2012-02-29 00:00:00.000', '2012-03-01 00:00:00.000', '2012-03-02 00:00:00.000', '2012-03-05 00:00:00.000', '2012-03-06 00:00:00.000', '2012-03-07 00:00:00.000', '2012-03-08 00:00:00.000', '2012-03-09 00:00:00.000', '2012-03-12 00:00:00.000', '2012-03-13 00:00:00.000', '2012-03-14 00:00:00.000', '2012-03-15 00:00:00.000', '2012-03-16 00:00:00.000', '2012-03-19 00:00:00.000', '2012-03-20 00:00:00.000', '2012-03-21 00:00:00.000', '2012-03-22 00:00:00.000', '2012-03-23 00:00:00.000', '2012-03-26 00:00:00.000', '2012-03-27 00:00:00.000', '2012-03-28 00:00:00.000', '2012-03-29 00:00:00.000', '2012-03-30 00:00:00.000', '2012-04-02 00:00:00.000', '2012-04-03 00:00:00.000', '2012-04-04 00:00:00.000', '2012-04-05 00:00:00.000', '2012-04-06 00:00:00.000', '2012-04-10 00:00:00.000', '2012-04-11 00:00:00.000', '2012-04-12 00:00:00.000', '2012-04-13 00:00:00.000', '2012-04-16 00:00:00.000', '2012-04-17 00:00:00.000', '2012-04-18 00:00:00.000', '2012-04-19 00:00:00.000', '2012-04-20 00:00:00.000', '2012-04-22 00:00:00.000', '2012-04-23 00:00:00.000', '2012-04-24 00:00:00.000', '2012-04-25 00:00:00.000', '2012-04-26 00:00:00.000', '2012-04-27 00:00:00.000', '2012-04-30 00:00:00.000', '2012-05-02 00:00:00.000', '2012-05-03 00:00:00.000', '2012-05-04 00:00:00.000', '2012-05-07 00:00:00.000', '2012-05-09 00:00:00.000', '2012-05-10 00:00:00.000', '2012-05-11 00:00:00.000', '2012-05-14 00:00:00.000', '2012-05-15 00:00:00.000', '2012-05-16 00:00:00.000', '2012-05-18 00:00:00.000', '2012-05-21 00:00:00.000', '2012-05-22 00:00:00.000', '2012-05-23 00:00:00.000', '2012-05-24 00:00:00.000', '2012-05-25 00:00:00.000', '2012-05-29 00:00:00.000', '2012-05-30 00:00:00.000', '2012-05-31 00:00:00.000', '2012-06-01 00:00:00.000', '2012-06-04 00:00:00.000', '2012-06-05 00:00:00.000', '2012-06-06 00:00:00.000', '2012-06-07 00:00:00.000', '2012-06-08 00:00:00.000', '2012-06-09 00:00:00.000', '2012-06-10 00:00:00.000', '2012-06-11 00:00:00.000', '2012-06-12 00:00:00.000', '2012-06-13 00:00:00.000', '2012-06-14 00:00:00.000', '2012-06-15 00:00:00.000', '2012-06-16 00:00:00.000', '2012-06-17 00:00:00.000', '2012-06-18 00:00:00.000', '2012-06-19 00:00:00.000', '2012-06-20 00:00:00.000', '2012-06-21 00:00:00.000', '2012-06-22 00:00:00.000', '2012-06-23 00:00:00.000', '2012-06-24 00:00:00.000', '2012-06-25 00:00:00.000', '2012-06-26 00:00:00.000', '2012-06-27 00:00:00.000', '2012-06-28 00:00:00.000', '2012-06-29 00:00:00.000', '2012-06-30 00:00:00.000', '2012-07-02 00:00:00.000', '2012-07-03 00:00:00.000', '2012-07-04 00:00:00.000', '2012-07-05 00:00:00.000', '2012-07-06 00:00:00.000', '2012-07-07 00:00:00.000', '2012-07-09 00:00:00.000', '2012-07-10 00:00:00.000', '2012-07-11 00:00:00.000', '2012-07-12 00:00:00.000', '2012-07-13 00:00:00.000', '2012-07-14 00:00:00.000', '2012-07-15 00:00:00.000', '2012-07-16 00:00:00.000', '2012-07-17 00:00:00.000', '2012-07-18 00:00:00.000', '2012-07-19 00:00:00.000', '2012-07-20 00:00:00.000', '2012-07-21 00:00:00.000', '2012-07-22 00:00:00.000', '2012-07-23 00:00:00.000', '2012-07-24 00:00:00.000', '2012-07-25 00:00:00.000', '2012-07-26 00:00:00.000', '2012-07-27 00:00:00.000', '2012-07-28 00:00:00.000', '2012-07-29 00:00:00.000', '2012-07-30 00:00:00.000', '2012-07-31 00:00:00.000', '2012-08-01 00:00:00.000', '2012-08-02 00:00:00.000', '2012-08-03 00:00:00.000', '2012-08-04 00:00:00.000', '2012-08-05 00:00:00.000', '2012-08-06 00:00:00.000', '2012-08-07 00:00:00.000', '2012-08-08 00:00:00.000', '2012-08-09 00:00:00.000', '2012-08-10 00:00:00.000', '2012-08-11 00:00:00.000', '2012-08-13 00:00:00.000', '2012-08-14 00:00:00.000', '2012-08-15 00:00:00.000', '2012-08-16 00:00:00.000', '2012-08-17 00:00:00.000', '2012-08-18 00:00:00.000', '2012-08-20 00:00:00.000', '2012-08-21 00:00:00.000', '2012-08-22 00:00:00.000', '2012-08-23 00:00:00.000', '2012-08-24 00:00:00.000', '2012-08-25 00:00:00.000', '2012-08-27 00:00:00.000', '2012-08-28 00:00:00.000', '2012-08-29 00:00:00.000', '2012-08-30 00:00:00.000', '2012-08-31 00:00:00.000', '2012-09-01 00:00:00.000', '2012-09-02 00:00:00.000', '2012-09-03 00:00:00.000', '2012-09-04 00:00:00.000', '2012-09-05 00:00:00.000', '2012-09-06 00:00:00.000', '2012-09-07 00:00:00.000', '2012-09-08 00:00:00.000', '2012-09-09 00:00:00.000', '2012-09-10 00:00:00.000', '2012-09-11 00:00:00.000', '2012-09-12 00:00:00.000', '2012-09-13 00:00:00.000', '2012-09-14 00:00:00.000', '2012-09-15 00:00:00.000', '2012-09-16 00:00:00.000', '2012-09-17 00:00:00.000', '2012-09-18 00:00:00.000', '2012-09-19 00:00:00.000', '2012-09-20 00:00:00.000', '2012-09-21 00:00:00.000', '2012-09-22 00:00:00.000', '2012-09-23 00:00:00.000', '2012-09-24 00:00:00.000', '2012-09-25 00:00:00.000', '2012-09-26 00:00:00.000', '2012-09-27 00:00:00.000', '2012-09-28 00:00:00.000', '2012-09-30 00:00:00.000', '2012-10-01 00:00:00.000', '2012-10-02 00:00:00.000', '2012-10-03 00:00:00.000', '2012-10-04 00:00:00.000', '2012-10-05 00:00:00.000', '2012-10-06 00:00:00.000', '2012-10-07 00:00:00.000', '2012-10-08 00:00:00.000', '2012-10-09 00:00:00.000', '2012-10-10 00:00:00.000', '2012-10-11 00:00:00.000', '2012-10-12 00:00:00.000', '2012-10-13 00:00:00.000', '2012-10-15 00:00:00.000', '2012-10-16 00:00:00.000', '2012-10-17 00:00:00.000', '2012-10-18 00:00:00.000', '2012-10-19 00:00:00.000', '2012-10-20 00:00:00.000', '2012-10-21 00:00:00.000', '2012-10-22 00:00:00.000', '2012-10-23 00:00:00.000', '2012-10-24 00:00:00.000', '2012-10-25 00:00:00.000', '2012-10-26 00:00:00.000', '2012-10-27 00:00:00.000', '2012-10-28 00:00:00.000', '2012-10-29 00:00:00.000', '2012-10-30 00:00:00.000', '2012-10-31 00:00:00.000', '2012-11-01 00:00:00.000', '2012-11-02 00:00:00.000', '2012-11-03 00:00:00.000', '2012-11-04 00:00:00.000', '2012-11-05 00:00:00.000', '2012-11-06 00:00:00.000', '2012-11-07 00:00:00.000', '2012-11-08 00:00:00.000', '2012-11-09 00:00:00.000', '2012-11-10 00:00:00.000', '2012-11-11 00:00:00.000', '2012-11-12 00:00:00.000', '2012-11-13 00:00:00.000', '2012-11-14 00:00:00.000', '2012-11-15 00:00:00.000', '2012-11-16 00:00:00.000', '2012-11-17 00:00:00.000', '2012-11-19 00:00:00.000', '2012-11-20 00:00:00.000', '2012-11-21 00:00:00.000', '2012-11-22 00:00:00.000', '2012-11-23 00:00:00.000', '2012-11-24 00:00:00.000', '2012-11-25 00:00:00.000', '2012-11-26 00:00:00.000', '2012-11-27 00:00:00.000', '2012-11-28 00:00:00.000', '2012-11-29 00:00:00.000', '2012-11-30 00:00:00.000', '2012-12-01 00:00:00.000', '2012-12-02 00:00:00.000', '2012-12-03 00:00:00.000', '2012-12-04 00:00:00.000', '2012-12-05 00:00:00.000', '2012-12-06 00:00:00.000', '2012-12-07 00:00:00.000', '2012-12-08 00:00:00.000', '2012-12-09 00:00:00.000', '2012-12-10 00:00:00.000', '2012-12-11 00:00:00.000', '2012-12-12 00:00:00.000', '2012-12-13 00:00:00.000', '2012-12-14 00:00:00.000', '2012-12-15 00:00:00.000', '2012-12-17 00:00:00.000', '2012-12-18 00:00:00.000', '2012-12-19 00:00:00.000', '2012-12-20 00:00:00.000', '2012-12-21 00:00:00.000', '2012-12-22 00:00:00.000', '2012-12-23 00:00:00.000', '2012-12-24 00:00:00.000', '2012-12-25 00:00:00.000', '2012-12-26 00:00:00.000', '2012-12-27 00:00:00.000', '2012-12-28 00:00:00.000', '2012-12-29 00:00:00.000', '2012-12-30 00:00:00.000', '2012-12-31 00:00:00.000', '2013-01-01 00:00:00.000', '2013-01-02 00:00:00.000', '2013-01-03 00:00:00.000', '2013-01-04 00:00:00.000', '2013-01-05 00:00:00.000', '2013-01-06 00:00:00.000', '2013-01-07 00:00:00.000', '2013-01-08 00:00:00.000', '2013-01-09 00:00:00.000', '2013-01-10 00:00:00.000', '2013-01-11 00:00:00.000', '2013-01-12 00:00:00.000', '2013-01-13 00:00:00.000', '2013-01-14 00:00:00.000', '2013-01-15 00:00:00.000', '2013-01-16 00:00:00.000', '2013-01-17 00:00:00.000', '2013-01-18 00:00:00.000', '2013-01-19 00:00:00.000', '2013-01-20 00:00:00.000', '2013-01-21 00:00:00.000', '2013-01-22 00:00:00.000', '2013-01-23 00:00:00.000', '2013-01-24 00:00:00.000', '2013-01-25 00:00:00.000', '2013-01-26 00:00:00.000', '2013-01-27 00:00:00.000', '2013-01-28 00:00:00.000', '2013-01-29 00:00:00.000', '2013-01-30 00:00:00.000', '2013-01-31 00:00:00.000', '2013-02-01 00:00:00.000', '2013-02-02 00:00:00.000', '2013-02-03 00:00:00.000', '2013-02-04 00:00:00.000', '2013-02-05 00:00:00.000', '2013-02-06 00:00:00.000', '2013-02-07 00:00:00.000', '2013-02-08 00:00:00.000', '2013-02-09 00:00:00.000', '2013-02-10 00:00:00.000', '2013-02-11 00:00:00.000', '2013-02-12 00:00:00.000', '2013-02-13 00:00:00.000', '2013-02-14 00:00:00.000', '2013-02-15 00:00:00.000', '2013-02-16 00:00:00.000', '2013-02-18 00:00:00.000', '2013-02-19 00:00:00.000', '2013-02-20 00:00:00.000', '2013-02-21 00:00:00.000', '2013-02-22 00:00:00.000', '2013-02-23 00:00:00.000', '2013-02-24 00:00:00.000', '2013-02-25 00:00:00.000', '2013-02-26 00:00:00.000', '2013-02-27 00:00:00.000', '2013-02-28 00:00:00.000', '2013-03-01 00:00:00.000', '2013-03-02 00:00:00.000', '2013-03-03 00:00:00.000', '2013-03-04 00:00:00.000', '2013-03-05 00:00:00.000', '2013-03-06 00:00:00.000', '2013-03-07 00:00:00.000', '2013-03-08 00:00:00.000', '2013-03-09 00:00:00.000', '2013-03-10 00:00:00.000', '2013-03-11 00:00:00.000', '2013-03-12 00:00:00.000', '2013-03-13 00:00:00.000', '2013-03-14 00:00:00.000', '2013-03-15 00:00:00.000', '2013-03-16 00:00:00.000', '2013-03-17 00:00:00.000', '2013-03-18 00:00:00.000', '2013-03-19 00:00:00.000', '2013-03-20 00:00:00.000', '2013-03-21 00:00:00.000', '2013-03-22 00:00:00.000', '2013-03-23 00:00:00.000', '2013-03-24 00:00:00.000', '2013-03-25 00:00:00.000', '2013-03-26 00:00:00.000', '2013-03-27 00:00:00.000', '2013-03-28 00:00:00.000', '2013-03-29 00:00:00.000', '2013-03-30 00:00:00.000', '2013-04-02 00:00:00.000', '2013-04-03 00:00:00.000', '2013-04-04 00:00:00.000', '2013-04-05 00:00:00.000', '2013-04-06 00:00:00.000', '2013-04-07 00:00:00.000', '2013-04-08 00:00:00.000', '2013-04-09 00:00:00.000', '2013-04-10 00:00:00.000', '2013-04-11 00:00:00.000', '2013-04-12 00:00:00.000', '2013-04-13 00:00:00.000', '2013-04-14 00:00:00.000', '2013-04-15 00:00:00.000', '2013-04-16 00:00:00.000', '2013-04-17 00:00:00.000', '2013-04-18 00:00:00.000', '2013-04-19 00:00:00.000', '2013-04-20 00:00:00.000', '2013-04-21 00:00:00.000', '2013-04-22 00:00:00.000', '2013-04-23 00:00:00.000', '2013-04-24 00:00:00.000', '2013-04-25 00:00:00.000', '2013-04-26 00:00:00.000', '2013-04-27 00:00:00.000', '2013-04-28 00:00:00.000', '2013-04-29 00:00:00.000', '2013-04-30 00:00:00.000', '2013-05-01 00:00:00.000', '2013-05-02 00:00:00.000', '2013-05-03 00:00:00.000', '2013-05-04 00:00:00.000', '2013-05-05 00:00:00.000', '2013-05-06 00:00:00.000', '2013-05-07 00:00:00.000', '2013-05-08 00:00:00.000', '2013-05-09 00:00:00.000', '2013-05-10 00:00:00.000', '2013-05-11 00:00:00.000', '2013-05-13 00:00:00.000', '2013-05-14 00:00:00.000', '2013-05-15 00:00:00.000', '2013-05-16 00:00:00.000');
$test = 1000;
$timeExplode = 0;
$timeDateTime = 0;
$timeSubstr = 0;
$timePregMatch = 0;

for ($i = 0; $i < $test; $i++) {
    $startTime = microtime(true);
    testSubstr();
    $timeSubstr += microtime(true) - $startTime;

    $startTime = microtime(true);
    testExplode();
    $timeExplode += microtime(true) - $startTime;

    $startTime = microtime(true);
    testPregMatch();
    $timePregMatch += microtime(true) - $startTime;

    $startTime = microtime(true);
    testDateTime();
    $timeDateTime += microtime(true) - $startTime;
}

echo "Average time for 500 dates\n";
echo "$test tests performed\n";
echo "-------------------\n";
echo "Substr...: " . round(($timeSubstr / $test) * 1000, 4) . "ms\n";
echo "Explode..: " . round(($timeExplode / $test) * 1000, 4) . "ms\n";
echo "PregMatch: " . round(($timePregMatch / $test) * 1000, 4) . "ms\n";
echo "DateTime.: " . round(($timeDateTime / $test) * 1000, 4) . "ms\n";

function testSubstr() {
    global $data;
    foreach ($data as $dt) {
        $year = substr($dt, 0, 4);
        $month = substr($dt, 5, 2);
        $day = substr($dt, 8, 2);
    }
}

function testExplode() {
    global $data;
    foreach ($data as $dt) {
        $tmpDt = explode(" ", $dt);
        $tmpDt = explode("-", $tmpDt[0]);
        $year = $tmpDt[0];
        $month = $tmpDt[1];
        $day = $tmpDt[2];
    }
}

function testPregMatch() {
    global $data;
    foreach ($data as $dt) {
        preg_match("#([0-9]{4})-([0-9]{2})-([0-9]{2})#", $dt, $matches);
        $year = $matches[1];
        $month = $matches[2];
        $day = $matches[3];
    }
}

function testDateTime() {
    global $data;
    foreach ($data as $dt) {
        $date = DateTime::createFromFormat("Y-m-d H:i:s.000", $dt);
        $year = $date->format("Y");
        $month = $date->format("m");
        $day = $date->format("d");
    }
}
?>

icon Tags de l'article :