Comments (13)
NOTE: current Factor docs (for 0.100 development version on master branch) only list the following vocabs in extras:
assocs.extras
combinators.extras
grouping.extras
math.extras
math.matrices.extras
namespaces.extras
sequences.extras
sets.extras
sorting.extras
splitting.extras
stream.extras
Check which vocabs are supported by 0.98, and which are supported by 0.99.
from testest.
Factor 0.99 supports the following extras
vocabs:
assocs.extras
combinators.extras
grouping.extras
math.extras
math.matrices.extras
namespaces.extras
sequences.extras
sets.extras
sorting.extras
splitting.extras
stream.extras
from testest.
Factor 0.98 supports the following extras
vocabs:
assocs.extras
combinators.extras
grouping.extras
math.extras
sequences.extras
sets.extras
sorting.extras
splitting.extras
stream.extras
from testest.
When looking at the original list as suggested in the issue, some of these are not extras
vocabs as indicated, but separate vocabs located in the extra
vocab root. Reconsider the list of vocabs to be preloaded.
from testest.
Note that the indicated load time increase to 5-6 seconds because of using libraries not preloaded, needs to be balanced against the size of the Factor image, plus the advantage some of these libraries add in terms of implementation effort. It still leaves a level playing field if a Kata depends on such a library. Most katas are not that time sensitive in the first place.
Vocabs in extra
by definition are not stable, so a certain hesitance to guard against future incompatibility is warranted.
from testest.
Need to check if some of the mentioned vocabs have been moved to extra
in 0.99
. Those are primary candidates to preload.
from testest.
Out of the list of suggested vocabs, the following list is actually in extra
, hence is not preloaded right now (the others are):
coroutines
decimals
generators
infix
lru-cache
multisets
pair-rocket
pairs
path-finding
qw
trees
variants
I don't think they can all be considered to be "commonly-used", although they might be useful to preload.
from testest.
Out of the list in the previous comment, the following vocabs are also present in 0.98:
decimals
infix
lru-cache
pair-rocket
pairs
path-finding
qw
trees
variants
So coroutines
,generators
, and multisets
were newly introduced in 0.99.
from testest.
When I have referred to extras
I do not mean purely vocabs ending in .extras
, but rather than vocab in the extras
root.
Also, all the vocab prefixes listed have vocabs in extras
. It is not a list of explicit imports, but rather a list of prefixes to load. See load
.
I have already done extensive testing with compile time, cold load time, warm load time, and image size. The final list is one which includes almost all vocabs which might be useful for kata, with only neglegible size difference (ie. the total size after increased image and removed extras ends up smaller than the current factor docker image).
from testest.
When I have referred to
extras
I do not mean purely vocabs ending in.extras
, but rather than vocab in theextras
root.Also, all the vocab roots listed have vocabs in
extras
. It is not a list of explicit imports, but rather a list of prefixes to load. Seeload
.I have already done extensive testing with compile time, cold load time, warm load time, and image size. The final list is one which includes almost all vocabs which might be useful for kata, with only neglegible size difference (ie. the total size after increased image and removed extras ends up smaller than the current factor docker image).
Thanks for investigating that.
Right, so you want to load all vocabs with these prefixes?
So that would include the ".extras" variants.
Right. If you have already tested that then I'm fine with it. I will make sure it will work for both 0.98 and 0.99.
from testest.
I will introduce specializations for versions 0.98 and 0.99, so it will be easy to maintain.
from testest.
So that would include the ".extras" variants.
Yes, but not only those. But the .extras
are especially important as they are the worst offenders for long load times, sequences.extras
in particular.
from testest.
from testest.
Related Issues (5)
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 testest.