Thanks Jose and Christopher for your replies! > I am worried making it a macro will signal to developers they need to worry about these kinds of low-level optimizations, which is not generally true!
I agree this is a legitimate concern and I totally understand if you prefer to keep this a function. I'm a bit biased because I spent some time lately on some low-level optimizations, which are indeed not very representative of the typical use cases. I probably wouldn't even have thought about it if these functions weren't part of Kernel, which seems to be made of many macros already (searching for *(macro)* in the Kernel docs yield 58 results!). So it might not be such a strong signal in this particular case? > Devil's advocate, one (of many) reasons why dev's shouldn't need to worry about these kinds of optimizations is because the language is conscientious about doing them for devs! I think this is the main argument: if the idiomatic way is also the most performant possible, you don't even have to think about it and to choose between the two. But this thinking taken to an extreme could lead to much overkill complexity, so the question I suppose is about whether it is relevant or overkill in this particular case? I honestly wouldn't know :) Le vendredi 15 janvier 2021 à 05:21:33 UTC+9, [email protected] a écrit : > > I am worried making it a macro will signal to developers they need to > worry about these kinds of low-level optimizations, which is not generally > true! > > Devil's advocate, one (of many) reasons why dev's shouldn't need to worry > about these kinds of optimizations is because the language is conscientious > about doing them for devs! > -- You received this message because you are subscribed to the Google Groups "elixir-lang-core" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/elixir-lang-core/1581c1d4-6d38-418d-ab3b-78c2fe3ed4a0n%40googlegroups.com.
