Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Heaviest object in the universe? #3921

Closed
munrocket opened this issue Sep 30, 2018 · 4 comments
Closed

Heaviest object in the universe? #3921

munrocket opened this issue Sep 30, 2018 · 4 comments
Assignees

Comments

@munrocket
Copy link
Contributor

munrocket commented Sep 30, 2018

CCXT bundle become ridiculusly heavy. It's bigger than angular+react+vue+ember combined in 2 times!

This library is shipped as an all-in-one module implementation with minimalistic dependencies and requirements:

I suggest deleting these lines from wiki. Also to split library in two parts one for centralized exchanges without web3/ethereumjs and another for decentralized exchanges like babel-core and babel-stuff. It's clear that we need modularity and save minimalistic design. Main target audience of this library use it in smartphones and python arbitrage bots and both need to be fast.

As i already say it will be cool to support website for custom bundle compilation like in highlight.js or at least better promote this approach in documentation. Since you have 'ccxt certified' exchange it can be the case for 'certified' bundle.

@kroitor kroitor self-assigned this Sep 30, 2018
@AoDev
Copy link

AoDev commented Oct 2, 2018

@munrocket I have a partial solution for my own project. It is a Webpack loader and thus works only if you use JS / Webpack. In my case, I managed to reduce ccxt weight to 15% of its original weight. (it depends on what you load)

https://github.com/Cryptovista/ccxt-exchanges-loader

@munrocket
Copy link
Contributor Author

@AoDev Yep we already implemented custom bundle compiler in official repository. But I think it's become more serious problem and just shrink number of stock exchanges not helps now. Sometimes we need to get rid of heavy dependencies.

@kroitor kroitor changed the title Haviest object in the universe? Heaviest object in the universe? Oct 2, 2018
@kroitor
Copy link
Member

kroitor commented Oct 2, 2018

We will make most of those heavy dependencies optional very soon.

@AoDev
Copy link

AoDev commented Oct 2, 2018

One thing I noted is that in my app, and probably other people as well, I share some dependencies with ccxt.

bignumber.js, web3, crypto-js

But the dependencies in ccxt are locked. So it means that for most people, these libraries (dependencies) will be duplicated. You could consider using semver ranges if possible. I know locking deps is more robust but usually it's recommended to do that at app level.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants