Question Est-il possible d'obtenir un avertissement lorsqu'une classe de valeur Scala doit être instanciée?


Dans la documentation sur Classes de valeur Scala, il est mentionné qu'il y a trois cas où une classe de valeur doit être affectée à une instance:

Résumé de la répartition

Une classe de valeur est en réalité instanciée lorsque:

  1. une classe de valeur est traitée comme un autre type.
  2. une classe de valeur est affectée à un tableau.
  3. faire des tests de type à l'exécution, tels que la correspondance de modèle.

Existe-t-il un paramètre dans le compilateur ou dans les fonctionnalités du langage qui produirait un avertissement lorsqu'une classe de valeurs doit être instanciée?


10
2017-08-06 16:39


origine


Réponses:


Non, pas actuellement

Cependant, il est très rarement intéressant de se préoccuper de ce type de micro-optimisation.

Si vous avez un code très très chaud et que vous devez l'optimiser autant que possible, essayez simplement quelques points et repensez.

Le compilateur JIT changera souvent ce que votre code fait au niveau de la machine si le code est suffisamment chaud.

La surcharge de l'allocation d'une classe de valeur n'est souvent même pas mesurable à moins que ce soit la seule chose que le thread fasse. Voir par exemple https://groups.google.com/forum/#!topic/scala-user/XdQnbcs2SRM pour certains points de référence où l'attribution de classes de valeur n'est pas mesurable.


1
2017-08-17 14:19