[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Issue 5368: Reduce allocations in Grob dimension caching (issue 3597
From: |
Hans Åberg |
Subject: |
Re: Issue 5368: Reduce allocations in Grob dimension caching (issue 359770043 by address@hidden) |
Date: |
Sat, 7 Jul 2018 00:02:52 +0200 |
> On 6 Jul 2018, at 11:12, address@hidden wrote:
>
> On 2018/07/05 21:32:25, Dan Eble wrote:
>
>> The rationale is that std::optional is fit for this situation and if
> LilyPond
>> were built with C++17 I would simply have used it.
>
> Any C++17 lookalike package is _not_ "simply using it" but a maintenance
> sink of itself. And a semi-lookalike always requires double-checking in
> what respects it does and does not do the same job. Write code once,
> debug it twice. Not to mention profile it twice.
>
> Reimplementing and then maintaining C++17 features and eventually
> possibly phasing out and replacing them by "the real thing" in 4 years
> or so is not the same as "simply using them".
Use __cplusplus. Later C++ versions also have a 'using' version of typedef,
which I found useful for transforming code.
For example, if you already have introduced your own Optional type:
#if __cplusplus >= 201703L
using Optional = std::optional;
#else
class Optional ...
#endif
and test if it compiles both with and without C++17.
One can do it the other way around, too:
#if __cplusplus < 201703L
namespace std {
using optional = Optional;
}
#endif
and use std::optional, or mix them until all Optional have been removed.
- Issue 5368: Reduce allocations in Grob dimension caching (issue 359770043 by address@hidden), dak, 2018/07/05
- Re: Issue 5368: Reduce allocations in Grob dimension caching (issue 359770043 by address@hidden), nine . fierce . ballads, 2018/07/05
- Re: Issue 5368: Reduce allocations in Grob dimension caching (issue 359770043 by address@hidden), dak, 2018/07/06
- Re: Issue 5368: Reduce allocations in Grob dimension caching (issue 359770043 by address@hidden),
Hans Åberg <=
- Re: Issue 5368: Reduce allocations in Grob dimension caching (issue 359770043 by address@hidden), David Kastrup, 2018/07/07
- Re: Issue 5368: Reduce allocations in Grob dimension caching (issue 359770043 by address@hidden), Hans Åberg, 2018/07/07
- Re: Issue 5368: Reduce allocations in Grob dimension caching (issue 359770043 by address@hidden), David Kastrup, 2018/07/07
- Re: Issue 5368: Reduce allocations in Grob dimension caching (issue 359770043 by address@hidden), Hans Åberg, 2018/07/07
- Re: Issue 5368: Reduce allocations in Grob dimension caching (issue 359770043 by address@hidden), David Kastrup, 2018/07/07
- Re: Issue 5368: Reduce allocations in Grob dimension caching (issue 359770043 by address@hidden), Hans Åberg, 2018/07/07
- Re: Issue 5368: Reduce allocations in Grob dimension caching (issue 359770043 by address@hidden), David Kastrup, 2018/07/07
- Re: Issue 5368: Reduce allocations in Grob dimension caching (issue 359770043 by address@hidden), Hans Åberg, 2018/07/07
- Re: Issue 5368: Reduce allocations in Grob dimension caching (issue 359770043 by address@hidden), Werner LEMBERG, 2018/07/07
- Re: Issue 5368: Reduce allocations in Grob dimension caching (issue 359770043 by address@hidden), Hans Åberg, 2018/07/07