VS2013 support is dropped in about 1 week from now :) On Thu, Oct 6, 2016 at 11:37 PM Mueller-Roemer, Johannes Sebastian < Johannes.Sebastian.Mueller-Roemer at igd.fraunhofer.de> wrote:> Visual Studio up to and including VS2013 implements > std::chrono::high_resolution_clock in an absolutely unusable manner (it is > a very low resolution clock…) [1]. Also, division is implemented > incorrectly [2]. I have run into both issues in my private developments, so > I would avoid them as long as VS2013 is supported by LLVM (I believe it > still is?). > > > > [1]: https://stackoverflow.com/questions/31643279 > > [2]: https://stackoverflow.com/questions/26372596 > > > > > > *From:* llvm-dev [mailto:llvm-dev-bounces at lists.llvm.org] *On Behalf Of *Zachary > Turner via llvm-dev > *Sent:* Friday, October 7, 2016 03:11 > *To:* llvm-dev <llvm-dev at lists.llvm.org> > *Subject:* [llvm-dev] Using std::chrono > > > > Hi all, > > We're considering using std::chrono more heavily in lldb. However, A quick > search of the llvm, clang, and lld codebases shos almost zero usage of > chrono. I wanted to see if this was for technical reasons (eg some compiler > doesn't support it well) or simply because nobody has needed it yet. If > it's the former then I'd like to be aware of the issues so we don't fall > into any traps. > > If it's the latter, then we're good to go. Would it be worth adding any > chrono helper functions to llvm/Support? On the one hand, it seems > generally useful. But on the other hand, if nobody's using it yet, maybe > it's not generally useful enough. > > Also, are there any chrono experts around who would be willing to review > some patches? >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20161007/8e53474f/attachment.html>
Hello all, I'd like to add a std::chrono support header to libSupport <https://reviews.llvm.org/D25416>. My main motivation is remove LLDB's TimeValue class in favor of std::chrono, but I think we could do the same for llvm::sys::TimeValue as well - the class was added a very long time ago, when std::chrono did not exist yet, but now it should be supported by all compilers. I've tried rewriting some of the uses in llvm, and despite the apparent verboseness of std::chrono, it makes the code shorter most of the time, and (due to the separation between time points and durations) also safer - I think I also found some bugs where we were adding two time points, but I'll need to verify that. What do you think? pl On 6 October 2016 at 23:52, Zachary Turner via llvm-dev <llvm-dev at lists.llvm.org> wrote:> VS2013 support is dropped in about 1 week from now :) > > On Thu, Oct 6, 2016 at 11:37 PM Mueller-Roemer, Johannes Sebastian > <Johannes.Sebastian.Mueller-Roemer at igd.fraunhofer.de> wrote: >> >> Visual Studio up to and including VS2013 implements >> std::chrono::high_resolution_clock in an absolutely unusable manner (it is a >> very low resolution clock…) [1]. Also, division is implemented incorrectly >> [2]. I have run into both issues in my private developments, so I would >> avoid them as long as VS2013 is supported by LLVM (I believe it still is?). >> >> >> >> [1]: https://stackoverflow.com/questions/31643279 >> >> [2]: https://stackoverflow.com/questions/26372596 >> >> >> >> >> >> From: llvm-dev [mailto:llvm-dev-bounces at lists.llvm.org] On Behalf Of >> Zachary Turner via llvm-dev >> Sent: Friday, October 7, 2016 03:11 >> To: llvm-dev <llvm-dev at lists.llvm.org> >> Subject: [llvm-dev] Using std::chrono >> >> >> >> Hi all, >> >> We're considering using std::chrono more heavily in lldb. However, A quick >> search of the llvm, clang, and lld codebases shos almost zero usage of >> chrono. I wanted to see if this was for technical reasons (eg some compiler >> doesn't support it well) or simply because nobody has needed it yet. If it's >> the former then I'd like to be aware of the issues so we don't fall into any >> traps. >> >> If it's the latter, then we're good to go. Would it be worth adding any >> chrono helper functions to llvm/Support? On the one hand, it seems generally >> useful. But on the other hand, if nobody's using it yet, maybe it's not >> generally useful enough. >> >> Also, are there any chrono experts around who would be willing to review >> some patches? > > > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev >
----- Original Message -----> From: "Pavel Labath via llvm-dev" <llvm-dev at lists.llvm.org> > To: "Zachary Turner" <zturner at google.com> > Cc: llvm-dev at lists.llvm.org > Sent: Sunday, October 9, 2016 9:29:17 PM > Subject: Re: [llvm-dev] Using std::chrono > > Hello all, > > I'd like to add a std::chrono support header to libSupport > <https://reviews.llvm.org/D25416>. My main motivation is remove > LLDB's > TimeValue class in favor of std::chrono, but I think we could do the > same for llvm::sys::TimeValue as well - the class was added a very > long time ago, when std::chrono did not exist yet, but now it should > be supported by all compilers. I've tried rewriting some of the uses > in llvm, and despite the apparent verboseness of std::chrono, it > makes > the code shorter most of the time, and (due to the separation between > time points and durations) also safer - I think I also found some > bugs > where we were adding two time points, but I'll need to verify that. > > What do you think?I think this makes sense. As you say, our TimeValue pre-dates std::chrono. If the implementations are now generally usable, we should transition to the standard functionality. -Hal> pl > > > On 6 October 2016 at 23:52, Zachary Turner via llvm-dev > <llvm-dev at lists.llvm.org> wrote: > > VS2013 support is dropped in about 1 week from now :) > > > > On Thu, Oct 6, 2016 at 11:37 PM Mueller-Roemer, Johannes Sebastian > > <Johannes.Sebastian.Mueller-Roemer at igd.fraunhofer.de> wrote: > >> > >> Visual Studio up to and including VS2013 implements > >> std::chrono::high_resolution_clock in an absolutely unusable > >> manner (it is a > >> very low resolution clock…) [1]. Also, division is implemented > >> incorrectly > >> [2]. I have run into both issues in my private developments, so I > >> would > >> avoid them as long as VS2013 is supported by LLVM (I believe it > >> still is?). > >> > >> > >> > >> [1]: https://stackoverflow.com/questions/31643279 > >> > >> [2]: https://stackoverflow.com/questions/26372596 > >> > >> > >> > >> > >> > >> From: llvm-dev [mailto:llvm-dev-bounces at lists.llvm.org] On Behalf > >> Of > >> Zachary Turner via llvm-dev > >> Sent: Friday, October 7, 2016 03:11 > >> To: llvm-dev <llvm-dev at lists.llvm.org> > >> Subject: [llvm-dev] Using std::chrono > >> > >> > >> > >> Hi all, > >> > >> We're considering using std::chrono more heavily in lldb. However, > >> A quick > >> search of the llvm, clang, and lld codebases shos almost zero > >> usage of > >> chrono. I wanted to see if this was for technical reasons (eg some > >> compiler > >> doesn't support it well) or simply because nobody has needed it > >> yet. If it's > >> the former then I'd like to be aware of the issues so we don't > >> fall into any > >> traps. > >> > >> If it's the latter, then we're good to go. Would it be worth > >> adding any > >> chrono helper functions to llvm/Support? On the one hand, it seems > >> generally > >> useful. But on the other hand, if nobody's using it yet, maybe > >> it's not > >> generally useful enough. > >> > >> Also, are there any chrono experts around who would be willing to > >> review > >> some patches? > > > > > > _______________________________________________ > > LLVM Developers mailing list > > llvm-dev at lists.llvm.org > > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev > > > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev >-- Hal Finkel Lead, Compiler Technology and Programming Languages Leadership Computing Facility Argonne National Laboratory