[#74190] [Ruby trunk Feature#12134] Comparison between `true` and `false` — duerst@...
SXNzdWUgIzEyMTM0IGhhcyBiZWVuIHVwZGF0ZWQgYnkgTWFydGluIETDvHJzdC4KCgpUc3V5b3No
3 messages
2016/03/07
[#74269] Type systems for Ruby — Rob Blanco <ml@...>
Dear ruby-core,
5 messages
2016/03/10
[#74395] [Ruby trunk Feature#12142] Hash tables with open addressing — shyouhei@...
Issue #12142 has been updated by Shyouhei Urabe.
3 messages
2016/03/17
[ruby-core:74346] Re: [Ruby trunk Feature#12173] `Time#till_now`
From:
Austin Ziegler <halostatue@...>
Date:
2016-03-15 18:07:44 UTC
List:
ruby-core #74346
I=E2=80=99ll do a bit of bike shedding on this and want to address one comm=
ent by
Benoit Daloze.
What if we make it so that the method is just #until and accepts an
optional parameter?
~~~RUBY
class Time
def until(recent =3D self.class.now)
recent - self
end
end
~~~
As Benoit suggests, if you=E2=80=99re doing benchmarks, you=E2=80=99re goin=
g to want
something more reliable=E2=80=94but from a user interaction perspective, I =
think
that this is very useful.
On Tue, Mar 15, 2016 at 4:21 AM, <[email protected]> wrote:
> Issue #12173 has been updated by Benoit Daloze.
>
>
> Tsuyoshi Sawada wrote:
> > It is very frequent to have a time instance:
> >
> > ~~~RUBY
> > t =3D Time.now
> > ~~~
> >
> > and then after some operations, do:
> >
> > ~~~RUBY
> > Time.now - t
> > ~~~
>
> This seems fairly related to #8640.
> Just a note: the Time.now - t is typically not what you want if you want
> to benchmark some piece of code.
> A monotonic clock like `Process.clock_gettime(Process::CLOCK_MONOTONIC)`
> should be used instead (I know, it's a bit lengthy).
> Or well if you can require 'benchmark' then it's just Benchmark.realtime =
{
> ... }.
>
> ----------------------------------------
> Feature #12173: `Time#till_now`
> https://bugs.ruby-lang.org/issues/12173#change-57459
>
> * Author: Tsuyoshi Sawada
> * Status: Open
> * Priority: Normal
> * Assignee:
> ----------------------------------------
> It is very frequent to have a time instance:
>
> ~~~RUBY
> t =3D Time.now
> ~~~
>
> and then after some operations, do:
>
> ~~~RUBY
> Time.now - t
> ~~~
>
> I propose `Time#till_now`, which is equivalent to:
>
> ~~~RUBY
> class Time
> def till_now; self.class.now - self end
> end
> ~~~
>
> and similar methods can perhaps be defined on `Date` and `DateTime`
> classes as well. Another candidate for the method name is `until_now`.
>
> Then we can do:
>
> ~~~RUBY
> t =3D Time.now
> # some heavy operation
> puts "It took #{t.till_now} secs."
>
>
>
> --
> https://bugs.ruby-lang.org/
>
> Unsubscribe: <mailto:[email protected]?subject=3Dunsubscrib=
e>
> <http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>
>
--=20
Austin Ziegler =E2=80=A2 [email protected] =E2=80=A2 [email protected]=
a
http://www.halostatue.ca/ =E2=80=A2 http://twitter.com/halostatue
Unsubscribe: <mailto:[email protected]?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>