Comments (8)
I did initial checks on this for v0.1.0 and it was within reason (initing the compiled functions was around the cost of say the jQuery.support
object). I've since reduced the number of compiled methods and inlined the templates for production builds so times should be even better. I will do an official bench of this though.
from lodash.
OK, I benched it again using a custom build with only the compiled methods crammed into a test loop so keep that in mind: http://jsperf.com/lodash-compile-cost
The custom build was made using
node build include=contains,every,filter,find,forEach,map,pluck,reduce,reject,some,values,defaults,extend,functions,isEmpty,keys
from lodash.
How does this compare to the startup cost of underscore?
from lodash.
Any chance of having the compiler build out the complete functions? I.e. do all the meta stuff at build time? If you keep the actual bytes on disk as repetitive as possible then gzipping will compress it nicely.
from lodash.
How does this compare to the startup cost of underscore?
Considering the benchmark is testing the cost of one time method compiling you can assume because Underscore lacks compiled methods that it doesn't have that cost.
Underscore pays it's perf tax per execution of each method, while Lo-Dash pays its one time up front. The startup will vary for custom builds with less compiled methods too, but I don't believe the kitchen-sink startup cost is an issue at the moment.
Any chance of having the compiler build out the complete functions? I.e. do all the meta stuff at build time? If you keep the actual bytes on disk as repetitive as possible then gzipping will compress it nicely.
Yes, it is absolutely possible to inline the methods, I do this already for the iteratorTemplate
. I will experiment with this to see if the results are beneficial.
from lodash.
After some experimentation we have decided not to use lodash on mobile yet because of the startup time cost. So, if that can be solved it would be awesome.
from lodash.
Yap, expect the "mobile" build to be committed soon.
from lodash.
This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.
from lodash.
Related Issues (20)
- Feature Request: multiple variables in _.template()
- _.defaultsDeeps return and mutate behaviour is inconsistent with null object
- Description of `compact` is incomplete.
- [5 years old bug] _.debounce().flush() fix never made it into production
- Sonatype shows a new critical security violation. HOT 3
- Would It Be Possible to Update the Typing of `max([0, anyNumber])` Such That It Returns Number? HOT 3
- Command injection vuln HOT 3
- Add "isWeakRef" function.
- sortBy nor orderBy not working properly
- Cannot import lodash single function in Node HOT 3
- keyBy not support index HOT 2
- lodash.groupby npm package version is still 4.6.0
- Strange _.rearg / _.reduce behaviour
- isEqual returns incorrect result
- bun build commands not working as expected
- orderBy orders field boolean dosent work HOT 1
- Please republish lodash.forin HOT 4
- Wrong version in lodash.pick vulnerability report CVE-2020-8203 HOT 8
- `lodash.merge` drops keys that are symbols
- Type of parameter object is string in function baseGet(object, path)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from lodash.