Exactly.

On Saturday, 7 May 2016, Allen Madsen <allen.c.mad...@gmail.com> wrote:

> I believe what Xavier means is that you need to demonstrate at the
> places where you would do the replacement that the speed up is worth
> the readability cost. If on a single request, that code executes once,
> it's probably not noticeable. That's why in the benchmark you need to
> run it 100 million times. If you can demonstrate that the place
> containing the `loop` is a hotspot that gets executed many times in a
> request, then the optimization is probably justified. That's why it
> wouldn't just be a find and replace for all instances.
> Allen Madsen
> http://www.allenmadsen.com
>
>
> On Fri, May 6, 2016 at 7:47 AM, Andrey Molchanov <neod...@gmail.com
> <javascript:;>> wrote:
> > Thanks for your feedback.
> > I agree with you about use idioms for better readable code. Its cool, but
> > Rails has many places where this not use. A lot of code can be corrected
> > according to this, but this is not done.
> > And I thought, why not use it in favor of speed?
> > That is what I was based when wrote this message.
> >
> >
> > пятница, 6 мая 2016 г., 14:31:40 UTC+3 пользователь Xavier Noria написал:
> >>
> >> In general, the Rails code base wants to use Ruby idiomatically.
> >>
> >> loop is the most succinct idiom in Ruby for those kinds of loops, see
> for
> >> example:
> >>
> >>
> >>
> https://github.com/rails/rails/blob/254f57ca3668398a5fcfd4f63be5d91c4c3b1cd4/actioncable/lib/action_cable/connection/stream_event_loop.rb#L66
> >>
> >> If a Ruby programmer sees a while true there instead, generally speaking
> >> they would shake their heads a little bit. Why is this not a loop? A
> comment
> >> would be needed: "This while true is here for performance".
> >>
> >> When is it OK to do a little strange thing for performance? Where it
> >> matters, not systematically across the code base. So, for example, if
> you
> >> change loop with while true in the previous example, probably there
> won't be
> >> any noticeable difference. So you just don't.
> >>
> >> And if the gain is tiny, the cost of writing something less idiomatic,
> >> elegant, or readable is still not worth it. Because code has to be read.
> >>
> >> You depart from this with a scalpel, precisely where it pays off.
> >>
> > --
> > You received this message because you are subscribed to the Google Groups
> > "Ruby on Rails: Core" group.
> > To unsubscribe from this group and stop receiving emails from it, send an
> > email to rubyonrails-core+unsubscr...@googlegroups.com <javascript:;>.
> > To post to this group, send email to rubyonrails-core@googlegroups.com
> <javascript:;>.
> > Visit this group at https://groups.google.com/group/rubyonrails-core.
> > For more options, visit https://groups.google.com/d/optout.
>
> --
> You received this message because you are subscribed to the Google Groups
> "Ruby on Rails: Core" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to rubyonrails-core+unsubscr...@googlegroups.com <javascript:;>.
> To post to this group, send email to rubyonrails-core@googlegroups.com
> <javascript:;>.
> Visit this group at https://groups.google.com/group/rubyonrails-core.
> For more options, visit https://groups.google.com/d/optout.
>


-- 
Sent from Gmail Mobile

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Core" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to rubyonrails-core+unsubscr...@googlegroups.com.
To post to this group, send email to rubyonrails-core@googlegroups.com.
Visit this group at https://groups.google.com/group/rubyonrails-core.
For more options, visit https://groups.google.com/d/optout.

Reply via email to