On Wed, Mar 13, 2013 at 3:22 PM, Adam Crabtree <[email protected]> wrote:

> I would guess almost nobody runs JSHint with strict mode settings on all
> their dependencies as well. That would be a maintenance nightmare.
>
> Regarding slowdown, there's been many many people from Google and others
> who've seen empirically that there are currently no speed benefits. Here
> are just the few I was able to find real quick:
>
> From
> http://scriptogr.am/micmath/post/should-you-use-strict-in-your-production-javascript
> :
> @paul_irish said: "good post. good opportunity to point out you should run
> your unit tests against your production JS as well … also, last i asked the
> V8 guys, there is nothing that specifically accelerates strict mode … but
> of course, avoiding the slow non-strict stuff should keep your code off the
> slow paths inside the JS engines."
>
> From the v8-users list,
> https://groups.google.com/forum/?fromgroups=#!topic/v8-users/QVXyJKNShJQ:
> Rohit: Does V8's strict mode implementation offer any performance benefits?
> Jakob Kummerow: No.
>
> Again from the Nicholas Zackas post,
> http://www.nczonline.net/blog/2012/03/13/its-time-to-start-using-javascript-strict-mode/
> :
> There is no reason to ship “use strict” in your production code. There is
> no performance gain (verified with V8 team and Brendan a while ago) and I
> don’t need my users’ VMs doing the extra checks as well.
>
> Also, IIRC someone in the previous strict mode discussion here verified
> that it does indeed run slower.
>
> Or how about about a handfull of different jsPerf tests?
> http://jsperf.com/use-strict-vs-array/3
> http://jsperf.com/how-much-performance-is-gained-from-use-strict/3
> http://jsperf.com/globalx/5
> http://jsperf.com/use-strict-has-overheads-hmm-what
>
> Again, I'm not saying that performance isn't possible, which everyone
> agrees on. I'm talking about whether right now it is actually faster, and I
> haven't seen any declarations by people working on the project (or with the
> people) or test cases to indicate it is.
>
> Also, 13:30 is talk on callbacks in Dart. :-/
>

12:30 is about callbacks in dart. 13:30 is about v8 optimizations.

It's like I said: All of the code is run with strict mode optimizations and
then "bails out" when in runs into code isn't complaint.

Putting "strict mode"; in your code is more for the purpose of built-in
linting. Except for some weird things - like that eval test from jsfiddle
that was just posted, there should be no difference in speed of JSHinted
code and formally declared "strict mode". The "strict mode" just ensures
that you can't at all accidentally use a particular set of bugs in the
language (some of which only affect readability and code quality, some of
which affect speed).

It makes programming easier.

As for the benchmarks, they're mostly testing very strange things - like
eval or returning the global object or the creation of a function with "use
strict" and the differences on most of them are less than 1% - which could
be than my processor sneezed on the loser. Y'know?

You don't generally create 1,000,000 strict mode functions. Rather you
create you app in strict mode with a single IIFE and maybe it takes a few
extra ops to validate the stricter syntax or whatever.

AJ ONeal

-- 
-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

--- 
You received this message because you are subscribed to the Google Groups 
"nodejs" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to