Comparison of element search methods in .NET

Поделиться
HTML-код
  • Опубликовано: 24 дек 2024

Комментарии •

  • @SnIpEuRDesign
    @SnIpEuRDesign 4 дня назад

    Super ! Ce serai bien de parler de pourquoi LINQ est mauvais ici :
    => On utilise un Any(LongChaine) et un Contains(voyelle) => Complexité de O(taille de LongChaine * taille de voyelle) => O(N*M).
    Alors que avec IndexOfAny (ou la regex), on utilise la methode optimisé de la classe String + une complexité de O(N)

  • @bulltrading-fr
    @bulltrading-fr 5 дней назад

    Parfois quand je suis autant dans l'optimisation, je me demande si ce serait pas plus utile directement de passer par du code compilé en C++, et appeler la fonction dans la Dll directement en Csharp pour optimiser la rapidité d'une fonction ? Qu'en penses tu ?

    • @HTSCoding
      @HTSCoding  5 дней назад

      Justement, Microsoft en est revenu de ça 😉
      Avec les optis de dotnet core, ils préfèrent rester 100% en managé car l’interop n’est pas transparent et avec tout le contexte le compilateur JIT peut bien optimiser

    • @bulltrading-fr
      @bulltrading-fr 5 дней назад

      ​@@HTSCoding Intéressant, c'est toujours bon à savoir. Étant donné que nous travaillons sur un moteur de backtesting dans le trading, l'optimisation peut s'avérer cruciale. Cependant, je pense qu'en règle générale, les optimisations passent d'abord par un code mieux conçu, avant d'être portées sur des aspects de plus bas niveau.

    • @HTSCoding
      @HTSCoding  5 дней назад +2

      @@bulltrading-fr Je bosse aussi pour un client qui fait du trading de matière première, donc oui, je comprends bien le point. Néanmoins, il faut être vigilant sur le côté "code mieux conçu", car pour certains, ça veut dire mieux architecturé, mais très souvent, la performance vient avec des patterns que certains peuvent considérer comme des "anti-patterns". Disons qu'il faut toujours être courant du coût que représente un certain algo en terme de conso mémoire et/ou cpu

  • @gaelbokokibiti9499
    @gaelbokokibiti9499 6 дней назад

    Les autres méthodes sont hyper optimisées comparées à LINQ que j'utilise à 100%. C'est super ça, merci Christophe

    • @HTSCoding
      @HTSCoding  6 дней назад +1

      Excellent, une bonne solution pour ne plus dépendre de LINQ pour ce cas d'usage alors :-)

    • @gaelbokokibiti9499
      @gaelbokokibiti9499 6 дней назад

      @@HTSCoding je n'arrive pas à appliquer l'une des autres méthodes avec mon cas d'usage où je dois returner la chaine sans "-" . T'as un conseil?
      string items="aaa;-bbb;ccc,ddd-,eee;fff";
      var itemsSansTiré=items.Split(';').Where(m => !m.Contains('-'));
      return string.Join(";", itemsSansTiré)

    • @gaelbokokibiti9499
      @gaelbokokibiti9499 6 дней назад

      Je n'arrive pas à appliquer l'une des autres methodes dans mon cas d'usage où je dois recuper la chaine avec des items sans "-". T'as un conseil?
      string items="aaa;-bbb;ccc;ddd-;eee;ff-f";
      var itemsSansTiré=items.Split(';').Where(m =>! m.Contains('-'));
      return string.Join(";", itemsSansTiré)

    • @HTSCoding
      @HTSCoding  6 дней назад

      EDIT : je viens de relire le truc, j'avais lu trop vite. Tu sais quoi ? je vais en faire une nouvelle vidéo "question d'un abonné" pour aller plus en profondeur ;-)