.Net Core 3.0 à .Net 8 (C#,F#, Visual basic .Net)

Parce qu'il en faut pour tout le monde, discutez ici d'ADA, de shell et autres Wolfram...

Modérateur : Francois

Répondre
Bud Spencer
Raspinaute
Messages : 1089
Enregistré le : lun. 15 août 2016 21:38

Re: .Net Core 3.0 (C#,F#, Visual basic .Net)

Message par Bud Spencer » mer. 7 oct. 2020 19:20

Un truc qui m'avait déjà surpris, ce sont les performance de .NEt Core 3.1. Je pense avoir de bonnes références de comparaison puisque je développe les mêmes genres de projet en c++, java et avec le Framework .Net aussi sous windows que sous linux avec Mono. Ce qui est encore plus troublant, c'est de voir les benchs de comparaison avec .Net 5. Ils confirment mon ressenti .Net Core 3.1 VS .Net Framework 4.8 et donne une idée de la puissance de .Net 5.
Le premier ennemi de la connaissance n’est pas l’ignorance, c’est l’illusion de la connaissance (S. Hawking).

Bud Spencer
Raspinaute
Messages : 1089
Enregistré le : lun. 15 août 2016 21:38

Re: .Net Core 3.0 (C#,F#, Visual basic .Net)

Message par Bud Spencer » lun. 12 oct. 2020 15:40

Toujours à scruter différents détails sur .Net 5 (qui forcement va devenir un de mes outils de travail), je suis tombé sur une autre batterie de tests très intéressante pour le PI puisqu’elle montre l’évolution des performances entre .Net Core 3.1 et .Net 5 sur les processeurs ARM64 et c'est plutôt bluffant. C’est aussi très bien fourni en explications techniques sur ces optimisations même si cette partie n’intéressera pas trop les débutants.

https://devblogs.microsoft.com/dotnet/a ... -in-net-5/
Le premier ennemi de la connaissance n’est pas l’ignorance, c’est l’illusion de la connaissance (S. Hawking).

Bud Spencer
Raspinaute
Messages : 1089
Enregistré le : lun. 15 août 2016 21:38

Re: .Net Core 3.0 (C#,F#, Visual basic .Net)

Message par Bud Spencer » mer. 14 oct. 2020 08:12

Le premier ennemi de la connaissance n’est pas l’ignorance, c’est l’illusion de la connaissance (S. Hawking).

Arduino-RPI
Messages : 30
Enregistré le : mar. 26 mai 2020 15:21

Re: .Net Core 3.0 (C#,F#, Visual basic .Net)

Message par Arduino-RPI » jeu. 15 oct. 2020 21:32

Hello, j'ai vu les benchmarks entre les differents framework .net...
C'est une très bonne nouvelle ce .net 5 pour les RPI.
Très bluffant les temps d'exécutions du .net5 !!

Bud Spencer
Raspinaute
Messages : 1089
Enregistré le : lun. 15 août 2016 21:38

Re: .Net Core 3.0 (C#,F#, Visual basic .Net)

Message par Bud Spencer » ven. 16 oct. 2020 21:29

Ouais, c'est intéressant mais tu sais, dans l’absolu, les perfs de .Net Core 3 étaient déjà très bonne et ça pouvait rivaliser avec ce qui se fait de plus rapide dans bien des cas et meme si .Net 5 en remet une couche et que c’est toujours bon à prendre, je ne pense pas que véritable intérêt de tout ça se trouve là .
La vraie richesse, à mon sens, c’est de pouvoir développer n’importe quel type d’application avec un seul langage très riche et un seul Framework en autosuffisance sans voir à s’appuyer sur des ressources qui sont fatalement ‘douteuses’ à moyens ou long terme et surtout d’etre totalement imperméable a toutes mutations de l’environnement. A titre d’exemple, La semaine dernière, j’ai migré temporairement en quelques clicks tous les services serveur du projet chronos sur une vm windows server 2019 avant de les repasser sur une Ubuntu et tout ça en toute transparence et sans installer aucune dépendance sur aucun système et modifier quoi que soit au code original développé sur un PI3. J’ai aussi fait la migration en test d’une de mes badgeuses sous Alpine avec un Pi4 et tout fonctionne parfaitement sans rien avoir à bricoler.
Pour .Net 5, j’attends la GA, mais coté upgrade, ça va se limiter à modifier le Framework cible dans mon IDE (2 clicks) et je pourrais déployer sans aucun risque en side by side vers mes serveur et badgeuses sans avoir à bricoler quoi que ce soit. Il y a bien sur quelques points de rupture entre les 2 versions, mais je n’ai rien vu de bloquant et au pire c’est juste quelques lignes à modifier pour etre optimum. A part ça, j’aurais juste le chemin des applications à changer dans mes scripts de démarrage de services et vice versa en cas de probleme. Ce que je vois surtout, c’est qu’avec ça, que je développe 10 à 20 fois plus vite qu’en Java, 50 fois plus vite qu’en C++ et 100 fois plus vite qu’en C avec des performances excellentes et sans aucune contrainte de portablité que ce soit win, nux, xXX ou Arm et ça, aucune méthode de développement ne me l’a jamais permis, donc ça me va ;-)
Le premier ennemi de la connaissance n’est pas l’ignorance, c’est l’illusion de la connaissance (S. Hawking).

Bud Spencer
Raspinaute
Messages : 1089
Enregistré le : lun. 15 août 2016 21:38

Re: .Net Core 3.0 (C#,F#, Visual basic .Net)

Message par Bud Spencer » dim. 25 oct. 2020 18:13

Aujourd’hui, en rangeant un peu dans mon boxon, je suis tombé un petit servos 9g 180° que j’avais dut récupérer je ne sais où. Le plus simple pour le tester, c’est le géné bf mais c’est plus rigolo avec le Pi et un petit bout de code pis c’est l’occasion d’essayer un truc de plus avec .Net Core. Donc voilà, c’est juste un truc en ligne de commande. On saisit un angle et on regarde le truc tourner, puis on recommence et quand on en a marre on appuis sur q pour quitter … le servo est alimenté par le 5v du PI (pin 1 +5v et pin3 gnd) et son signal sur la GPIO18 (pin 12 - canal pwm 0).
s9g180nc3.png
s9g180nc3.png (52.81 Kio) Vu 5154 fois
Le premier ennemi de la connaissance n’est pas l’ignorance, c’est l’illusion de la connaissance (S. Hawking).

Arduino-RPI
Messages : 30
Enregistré le : mar. 26 mai 2020 15:21

Re: .Net Core 3.0 (C#,F#, Visual basic .Net)

Message par Arduino-RPI » mer. 28 oct. 2020 13:04

J'ai pu tester également des api en .net core avec un deploiement en "mode Autonome" sur un rpi ou un serveur windows.
Et la c'est bluffant... Tout est inclus dans le dossier bin.
Plus besoin d'installer au préalable le framework sur la machine... vraiment bien...
J'ai vu également qu'il était possible de "Produire un seul fichier" lors d'un déploiement... Je n'ai pas tester...
Est-ce plus facile de gérer un seul fichier par la suite ? impact (ou pas) sur le temps d'exécution ?
Il y a également le Programmez de ce mois-ci qui parle du .Net 5, mais je ne l'ai pas encore acheter.

Petite question pour toi "Bud", as tu déja tester des PWA avec Blazor ? si oui as tu essayé avec de la data "embarquée", genre indexedDB ... Peut etre utile pour tes badgeuses dans un mode offline ?
Je suis plutôt intéressé par ces "technos" dans le but d'éviter de passer par du Xamarin (que j'aime beaucoup mais un peu lourd parfois...) pour de simples applications...

J'ai les memes petits servos-moteur aussi qui trainent dans un carton... :)

Bud Spencer
Raspinaute
Messages : 1089
Enregistré le : lun. 15 août 2016 21:38

Re: .Net Core 3.0 (C#,F#, Visual basic .Net)

Message par Bud Spencer » jeu. 29 oct. 2020 00:28

C’est clair que le déploiement autonome, c’est vraiment le top et je ne me souvient pas avoir connu une telle facilité avec quoi que ce soit d'autre (en plus avec VS, les déploiement à distances sont vraiment des formalités) . Je n’ai pas encore testé le fichier unique non plus, mais je le ferais avec .Net 5. J’imagine que cela doit etre un peu plus long à démarrer une appli, mais dans quelle proportion ? à voir. Idem pour des pwa, je n’ai pas encore eu l’occasion d’essayer avec Blazor. Pour la data embarquée, j’avais fait un petit test vite fait avec Entity et SQLite et ça semblait fonctionner pas mal, mais pas de besoin dans l'immédiat, donc je n'avais pas gratter plus loin. Quant à indexedDB, je n’ai jamais utilisé je ne connais pas du tout

Pour les badgeuses, j’ai opté pour le zero write sur la SD et je suis de toutes façon obligé de bosser en mode connecté pour l’instant puisqu’il ni a pas de rtc sur les PI. Autre problème, c’est que rien que sur certains ateliers c’est 60000 m² et certaines personnes se déplacent beaucoup voir meme change de site. Du coup elles sont susceptibles d’utiliser plusieurs badgeuses à des endroits différents dans la meme journée et comme toutes les options présentées à l’écran dépendent obligatoirement du pointage précédent ...
Le premier ennemi de la connaissance n’est pas l’ignorance, c’est l’illusion de la connaissance (S. Hawking).

Bud Spencer
Raspinaute
Messages : 1089
Enregistré le : lun. 15 août 2016 21:38

Re: .Net Core 3.0 (C#,F#, Visual basic .Net)

Message par Bud Spencer » sam. 31 oct. 2020 09:50

Petit test fait ce matin avec avec le petit programme du servo g9 en déploiement à un seul fichier pour linux-arm avec net core 3.1 et ca fonctionne Nikel. Pour ca, j'ai juste eu à coché la case prévue pour ca. Je n'ais pas l'impression que le programme démarre moins vite (en tout ca, ce n'est pas perceptible). Ca sort directement un fichier exécutable que j'exécute avec une commande classique './servo'. Sans cocher l'option 'tronquer les assemblys inutilisés', le fichier contient l'ensemble du framework et fait 77 Mo. En cochant cette option, il vire je pense toutes les libs inutilisées et ca passe a 33 Mo.

netcoreonefile.png
netcoreonefile.png (7.81 Kio) Vu 5108 fois
Le premier ennemi de la connaissance n’est pas l’ignorance, c’est l’illusion de la connaissance (S. Hawking).

Bud Spencer
Raspinaute
Messages : 1089
Enregistré le : lun. 15 août 2016 21:38

Re: .Net Core 3.0 (C#,F#, Visual basic .Net)

Message par Bud Spencer » mar. 3 nov. 2020 13:57

Je poursuis mes tests de déploiement avec .net core 3.1. Aujourd’hui, après essais, j’ai modifié le type de déploiement de l’application serveur Chronos qui est en prod en le passant en ‘one file’ pour linux-x64 (hébergé sur un Ubuntu server 20.04) et tout fonctionne sans problème. Pour rappel, c’est une application ASP.Net core MVC ou j’ai utilisé des pages Razor pour les vues et des contrôleurs pour répondre aux requêtes ajax. Cela m’a généré un exécutable ‘Chronos’ qui contient tout ce dont le programme à besoin, y compris le serveur kestrel. La ou l’on voit que c’est plutôt bien pensé, c’est que le répertoire wwwroot ainsi que les fichiers de paramétrages ne sont pas inclus dans ce fichier, ce qui permet au besoin de les modifier sans repasser par un déploiement. Prochaine étape appliquer ce mode de déploiement au serveur d‘API et à tous les sévices qui gravitent autour.

chronosonefile.png
chronosonefile.png (32.48 Kio) Vu 5072 fois
Le premier ennemi de la connaissance n’est pas l’ignorance, c’est l’illusion de la connaissance (S. Hawking).

Répondre

Retourner vers « Autres langages »