web-to-desktop-framework-comparison icon indicating copy to clipboard operation
web-to-desktop-framework-comparison copied to clipboard

Start Duration for Windows doesn't match with my pc

Open ahqsoftwares opened this issue 2 years ago • 13 comments
trafficstars

Hello, As I have noticed under the start duration, the run time of tauri is higher than electron as stated there. However it is quite the opposite in my pc. My PC Specs:

  • Windows 11 Pro
  • CPU: Intel(R) Core(TM) i3-3210 CPU @ 3.20GHz
  • RAM: 12GB
  • DISK TYPE: SSD

The app I've used to measure is PassMark App Timer

  • The Average timing for electron to load is: 2.09876666667 secs (12 iterations)
  • The Average timing for tauri to load is: 0.15355 secs (12 iterations)

This is the part with which I am unsatisfied https://github.com/Elanis/web-to-desktop-framework-comparison?tab=readme-ov-file#start-duration

ahqsoftwares avatar Sep 03 '23 05:09 ahqsoftwares

image

Config of PassMark App Timer

ahqsoftwares avatar Sep 03 '23 05:09 ahqsoftwares

Hello, thanks for this issue !

What does this app use to measure start duration ?

Because I use the load event of the inner webview as the end of measurement, and the binary start as the start measurement.

Elanis avatar Sep 04 '23 06:09 Elanis

Window Initial loading time

ahqsoftwares avatar Sep 04 '23 15:09 ahqsoftwares

Although the webview too loads 2x earlier in Tauri compared to Electron

ahqsoftwares avatar Sep 04 '23 15:09 ahqsoftwares

I also have vastly different experience build my app on Tauri and Electron. Tauri build time is 10x faster then on Electron. I am using monorepo (turborepo) sharing code between Electron and Tauri, and for same React app that I have Tauri ends up building much faster. I am currently on Windows PC, but soon I'll check MacOS too.

Glad that this comparison exists, really helped me during testing period to know which one to pick :) Huge thanx for all the work!

vildantursic avatar Sep 07 '23 10:09 vildantursic

This is really interesting to see these comments !

I need a bit of investigation to see if there's some mistake somewhere, but results were respecting my own initial manual tests if I recall correctly (but I might have missed something, who knows ?). About the build time, do you consider that I don't use the advantage of incremental build when building Tauri, which automatically increase a lot build time. Might be worth adding to #142

Also, for some people that might read this, note that since I am using Github Actions for benchmarks, we have to compare relative differences more than absolute values like I said in the README. Not that any of you did it, but I prefer to remind 😄

But still, this is interesting to see huge differences like that. Maybe we need to change some process or ways to benchmark everything !

Glad that this comparison exists, really helped me during testing period to know which one to pick :) Huge thanx for all the work!

Thanks ! That was my initial goal, I just wanted to compare Tauri, nw.js and electron and chose what to pick up for my projects. I didn't expect this project to continue over time, or gain stars, and even less to get to 880 😅 I'm glad it helps other people to make choices :)

Elanis avatar Sep 07 '23 11:09 Elanis

Tauri apps have a 1st time huge time killing scheme. Also, depending on the pc specs it differs a lot I agreed

ahqsoftwares avatar Sep 07 '23 13:09 ahqsoftwares

Also, another thing to note is that you technically have web builds for electron and tauri (considering you don't use the tauri apis on web build) you may add a sidenote regarding that

ahqsoftwares avatar Sep 07 '23 13:09 ahqsoftwares

Also, another thing to note is that you technically have web builds for electron and tauri (considering you don't use the tauri apis on web build) you may add a sidenote regarding that

This is true. But we believe I should make react (for example) examples as well, so we can see differences between vanilla js, framework versions (like a react todo-list for example), and native calls versions (for example a simple file explorer).

Lots of ideas, but since I don't have that much time to spend on that project, I can't promise I could do it immediately. I created #559 to track this.

Elanis avatar Sep 07 '23 13:09 Elanis

Yeah, sure

Off Topic I actually came to here from Tauri Apps. In #off-topic it was posted where I saw that which I quickly created an issue

ahqsoftwares avatar Sep 08 '23 03:09 ahqsoftwares

Within next few weeks I'll also have Github actions setup and ready so that will also give me more info on performance (build time). Thing is that PC I am using is pretty old (8-9 years) :D I don't think that I'll beat Github actions, but time will tell. I'll post results somewhere here.

I agree with you that examples that use React, Svelte or Vue would give more insights in performance.

vildantursic avatar Sep 08 '23 05:09 vildantursic

My pc is of 2012 specs too :) and it can easily beat GitHub Actions

ahqsoftwares avatar Sep 08 '23 05:09 ahqsoftwares

Also, the neuralinojs architecture does lack security and can be easily intercepted unlike tauri

ahqsoftwares avatar Sep 08 '23 06:09 ahqsoftwares

I did various fixes since this issue, which should have improved results. There is still #142 and #444 waiting but then I think there won't be much more possible to add.

If you have any other improvements ideas, feel free to open a dedicated issue and we can talk about it. In the meantime, I will close this issue :)

Elanis avatar Aug 08 '24 07:08 Elanis