[RUBY] À propos du langage de programmation Crystal

introduction

Tout d'abord, qu'est-ce que Crystal! Cependant, pour faire simple, il s'agit d'un langage de programmation conçu pour exécuter des programmes à une vitesse d'exécution similaire au langage C en utilisant la syntaxe ruby. Cette fois, j'ai écrit un article dans l'espoir de présenter brièvement l'attrait de ce cristal.

Vérifier la vitesse d'exécution

Tout d'abord, si vous n'avez pas installé crystal, veuillez l'installer à partir du site officiel en fonction de votre environnement. Après cela, créez un dossier en cristal dans un endroit approprié. Ensuite, créez test.cr dans le dossier crystal et modifiez le contenu comme suit.

puts "Hello World!"

Comme vous pouvez le voir, c'est un programme qui affiche des caractères. Si vous faites cela comme ruby, la vitesse d'exécution sera la suivante.

time crystal test.cr
→ Hello world!
→ crystal test.cr  0.85s user 0.27s system 134% cpu 0.833 total

Cette fois, si vous compilez test.cr (convertissez tout le contenu du fichier dans un état qui peut être lu par un ordinateur personnel à la fois) et que vous l'exécutez ensuite, le résultat sera le suivant.

crystal build test.cr --release
time ./test 
→ Hello world!
→ ./test  0.00s user 0.00s system 2% cpu 0.263 total

En comparaison, on peut voir que le premier était de 0,85 seconde, tandis que le second était de 0,00 seconde, ce qui est au moins 10 fois plus rapide.

Ce qui précède est également décrit dans ce site. Si vous voulez en savoir plus, je pense que vous devriez le voir également.

Recommended Posts

À propos du langage de programmation Crystal
À propos de la langue à apprendre à partir de maintenant
À propos de la méthode
À propos du paquet
Langage de programmation recommandé
Sortie sur la méthode, partie 2
Classement des langages de programmation populaires
À propos de la classe StringBuilder
Commentaire: à propos de l'interface
À propos du pipeline d'actifs
À propos de la double fonction -java
Classement des langages de programmation populaires
À propos de la méthode de longueur
À propos du module Kernel
À propos de la méthode des ancêtres
Tout sur la programmation Java
[Sortie] À propos de la base de données
À propos de la méthode to_s.
À propos de la gestion de Null
A propos de la spécification du chemin JAXRS
Sortie sur la méthode Partie 1
Remarques sur la portée
À propos de la description de Docker-compose.yml
À peu près la même et la même valeur
À propos du cycle de vie Android
À propos de l'explication sur le type de fonction
[Langue de programmation] Liste des noms d'utilisateurs
Prise en compte de la méthode des temps
Les temps peuvent venir? Programmation orientée aspect, qu'est-ce que le langage AspectJ?
À propos des bases du développement Android
À propos des méthodes equals () et hashcode ()
À propos du symbole <%%> dans Rails erb
À propos de la bande d'applications de partage d'informations
Programmation avec ruby (en route)
Un murmure sur la classe utilitaire
À propos du rôle de la méthode initialize
Résumé du langage de programmation open source zig
À propos du niveau de journalisation de java.util.logging.Logger