Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.javascript > #16200
| Message-ID | <3738235.beI7O1F77D@PointedEars.de> (permalink) |
|---|---|
| From | Thomas 'PointedEars' Lahn <PointedEars@web.de> |
| Organization | PointedEars Software (PES) |
| Date | 2012-09-27 20:50 +0200 |
| Subject | Re: silly question on closure |
| Newsgroups | comp.lang.javascript |
| References | <a9704993-d83a-4392-8a65-82755e9ba320@u15g2000yql.googlegroups.com> <k3kocg$8ok$1@news.albasani.net> <7227299.QoKgMUOf8L@PointedEars.de> <k40fod$k2d$1@news.albasani.net> |
| Followup-To | comp.lang.javascript |
Followups directed to: comp.lang.javascript
Stefan Weiss wrote:
> On 2012-09-24 01:10, Thomas 'PointedEars' Lahn wrote:
>> Stefan Weiss wrote:
>>> On 2012-09-22 14:04, justaguy wrote:
>>>> The closure takes so many lines while the function has only 2 lines to
>>>> get the same thing done. So, the question is, why do we use closure?
>>>
>>> You don't, just like you don't actually use "Hello, world" in production
>>> code. This was obviously just an example for how closures work. If this
>>> was code intended for actual use, your "just a function" variant would
>>> be better suited (provided it only returned the value, like in the
>>> "closure" example).
>>
>> You are mistaken as you are overlooking that creating that Array instance
>> and populating it with elements requires resources – memory and runtime.
>> Since we have only automated garbage collection, and the function may be
>> called a number of times, it is better to use a closure here, so that the
>> object would only be created, and the array only populated, once.
>
> I would say that depends on the use case.
Of course it does.
> I have no doubt that closures can offer performance benefits even with a
> simple 4-element array like this, but unless you're running the function a
> million times in a tight loop, the difference will be hardly noticable.
Of course. You are missing the point.
> There's a often a tradeoff between legibility and performance.
> Introducing temporary variables, helper functions, layers of
> indirection, etc, can all hurt performance, but we still do it because
> it helps us keep our code clean, understandable, and maintainable.
False dichotomy.
> In the vast majority of cases, JS performance is not a problem
> (anymore).
You are very much mistaken.
> In this particular case, the goal was "understanding closures". It's a
> fair assumption to make that the code was not running in a tight loop, and
> that the OP was not overly troubled by the performance of his script.
I have disputed your assertion that closures are to be avoided with a two-
line function because they would not be worth it in any case.
> You're writing a general purpose library, the OP is learning JS. Your
> goals are different. Recommending the closure style whenever possible,
> regardless of circumstances, smacks of premature optimization.
Which is why I am not doing that.
PointedEars
--
realism: HTML 4.01 Strict
evangelism: XHTML 1.0 Strict
madness: XHTML 1.1 as application/xhtml+xml
-- Bjoern Hoehrmann
Back to comp.lang.javascript | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
silly question on closure justaguy <lichunshen84@gmail.com> - 2012-09-22 05:04 -0700
Re: silly question on closure Stefan Weiss <krewecherl@gmail.com> - 2012-09-22 18:18 +0200
Re: silly question on closure justaguy <lichunshen84@gmail.com> - 2012-09-22 18:41 -0700
Re: silly question on closure Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2012-09-24 01:10 +0200
Closures (was: silly question on closure) Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2012-09-24 13:14 +0200
Re: silly question on closure Stefan Weiss <krewecherl@gmail.com> - 2012-09-27 05:04 +0200
Re: silly question on closure Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2012-09-27 20:50 +0200
Re: silly question on closure Stefan Weiss <krewecherl@gmail.com> - 2012-09-27 21:29 +0200
Re: silly question on closure "Tom de Neef" <tdeneef@qolor.nl> - 2012-09-22 20:00 +0200
Re: silly question on closure justaguy <lichunshen84@gmail.com> - 2012-09-22 18:42 -0700
Re: silly question on closure justaguy <lichunshen84@gmail.com> - 2012-09-23 07:31 -0700
Re: silly question on closure Stefan Weiss <krewecherl@gmail.com> - 2012-09-23 18:49 +0200
Re: silly question on closure justaguy <lichunshen84@gmail.com> - 2012-09-23 13:33 -0700
Re: silly question on closure justaguy <lichunshen84@gmail.com> - 2012-09-23 13:38 -0700
Re: silly question on closure Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2012-09-24 20:49 +0200
Re: silly question on closure Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2012-09-24 01:14 +0200
Re: silly question on closure dann90038@gmail.com - 2012-09-23 15:37 -0700
csiph-web