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

Web component benchmark #212

Closed
vogloblinsky opened this issue Jan 4, 2019 · 10 comments
Closed

Web component benchmark #212

vogloblinsky opened this issue Jan 4, 2019 · 10 comments

Comments

@vogloblinsky
Copy link

Hi,

I have created a benchmark suite for Web Components librairies. Dojo is implemented, and you can see the raw results here : https://vogloblinsky.github.io/web-components-benchmark/

I will release soon a blog post explaining in detail that, but i want a feedback of many librairies authors before, to be sure i am not wrong in my implementations.

Source code here : https://github.com/vogloblinsky/web-components-benchmark

Can you have a look and give me some feedbacks ?

Thanks

@dylans
Copy link
Member

dylans commented Jan 4, 2019

@vogloblinsky thanks, this looks really interesting. I've verified that you are using more recent versions.

On https://vogloblinsky.github.io/web-components-benchmark/ it's probably worth updating the version number for Dojo @vogloblinsky . Thanks!

@vogloblinsky
Copy link
Author

thanks
i will look that, but it is strange on npm i cannot see v4 : https://www.npmjs.com/package/@dojo/core
where am i wrong ?

@dylans
Copy link
Member

dylans commented Jan 4, 2019

@vogloblinsky with the version 3 release and newer, @dojo/core was combined with other packages into the @dojo/framework monorepo. So I would read the version number from @dojo/framework instead of @dojo/core on https://github.com/vogloblinsky/web-components-benchmark/blob/master/common/meta.js#L178

@vogloblinsky
Copy link
Author

@dylans
I have cleaned the package.json file. I was correctly using v4, @dojo/framework was referenced inside devDependencies instead of dependencies

@dylans
Copy link
Member

dylans commented Jan 5, 2019

@vogloblinsky thanks, and yes, your app was indeed using v4, it was mostly just the metadata on the comparison site that was showing the old version number.

In case it helps for your blog post, we're a bit slow on the Pascal's triangle demo for a couple of reasons:

  1. In general it's not a particularly realistic real world use case to render that many custom elements on initial page load
  2. We should at some point look into further optimizing the time it takes to render custom elements (it hasn't really been a bottleneck for us until seeing this example, so it's not an area we've spent time yet).

@matt-gadd
Copy link
Contributor

@vogloblinsky Hi! First of all thanks so much for taking the time to implement this, we don't have a lot of dojo custom element examples in the wild yet so this is really great. Are we okay to link to it on dojo.io?

The implementation looks reasonable to me, the only thing I wanted to ask was (and not important to the actual impl), what were the reasons behind needing to eject on the build side?

We're going to try take a look at why we're so slow on the pascal benchmark also 😄.

Thanks again 👍

@vogloblinsky
Copy link
Author

vogloblinsky commented Jan 5, 2019

  • ok for the link
  • i have ejected the config because for each component exported i got dojo dependency, so for two components it was an overload very important.

@matt-gadd
Copy link
Contributor

@vogloblinsky Ahh, I would like to raise a PR with changes if that's okay? I don't think this should be using cli-build-widget (or in your case an ejected config from it) if each custom element is not designed to be standalone, ie right now you're importing them all in one module and building that. If that's the case you can just use cli-build-app and not eject at all.

@vogloblinsky
Copy link
Author

ok no problem.
i have seen the build-app solution in one of your custom elements example.
i will look at your PR asap

@agubler
Copy link
Member

agubler commented Jul 3, 2019

Thanks you for the web component benchmark, closing this issue now as there does not appear to be any further actionable items.

@agubler agubler closed this as completed Jul 3, 2019
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

4 participants