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

Profile and optimize #659

Open
kkoreilly opened this issue Dec 25, 2023 · 5 comments
Open

Profile and optimize #659

kkoreilly opened this issue Dec 25, 2023 · 5 comments
Labels
approved This feature request will be implemented enhancement A new feature request
Milestone

Comments

@kkoreilly
Copy link
Member

We could probably improve performance a decent amount by profiling and optimizing, which would be helpful for lower capacity platforms like web.

@kkoreilly kkoreilly added the enhancement A new feature request label Dec 25, 2023
@kkoreilly kkoreilly added this to the v2 milestone Dec 25, 2023
@kkoreilly
Copy link
Member Author

When we do this, we should do widget-specific render profiling using PushBounds and PopBounds.

@kkoreilly kkoreilly modified the milestones: v0.3, v0.4 Jul 23, 2024
@kkoreilly kkoreilly added the approved This feature request will be implemented label Jul 28, 2024
@theclapp
Copy link

Some data points:

  • Running the demo on my laptop (2016 Intel-based Macbook Pro) and just leaving it idle seems to peg the fans.

  • I ran the demo in my browser and it seemed to use much less energy(?); in any case it didn't spike my laptop fans. So that was a bit of a surprise, that running wasm in Chrome took less (fewer?) resources than a native app.

  • I played around with this a lot a few days ago, looking at other measurements than just fan speed. It turns out that the demo draws 9-11 watts on the "CPU Package GPU", as reported by iStat Menus. Other GPU readings (Intel and Radeon) also report higher readings (temperature, wattage, and others). I mean, it's super clear: ~0 watts in use (on that measurement), then I start the demo, and it climbs to 9+ watts almost immediately, and when I exit the demo, it drops back to 0W again.

  • I should also mention that I normally use an external monitor, which makes my mac use a different graphics card (Radeon), and also (I didn't actually realize this till fiddling with this) heats it up a significant amount. Routing all that data through the usb-c port takes a not-insignificant amount of energy, who knew?

    So the extra load from the demo (9 watts!) may just be enough to push my specific laptop with my specific usage pattern over some threshold where it has to rev the fans more to dissipate the extra heat being generated.

@runrc
Copy link

runrc commented Oct 16, 2024

It would be beneficial to get some performance improvements done soon. The attraction of using Cogent Core versus say web technologies is the ability to handle and visualise large datasets. At the moment, the table struggles with scrolling with large amounts of data (#1128)

@kkoreilly
Copy link
Member Author

@runrc Thank you for pinging us on this issue. We have been busy for various reasons as I explain below, but we will have more time soon to improve Cogent Core, and we will prioritize #1128 first.

We have been busy with the start of the academic year, particularly with updating all of the Computational Cognitive Neuroscience simulations to Cogent Core, which are actively needed each week for courses at three universities, and thus present pressing deadlines. Also, @rcoreilly has been working on Goal (#1229), which is needed for his continued scientific research and will be beneficial in general for data science with Cogent Core. However, we are at the tail end of both projects, and thus we will have much more time to dedicate to things such as table performance shortly.

@kkoreilly
Copy link
Member Author

@runrc We made good progress on the aforementioned projects, so we have more time to improve Cogent Core now. We fixed #1128 and I will fix your race condition issues shortly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved This feature request will be implemented enhancement A new feature request
Projects
None yet
Development

No branches or pull requests

3 participants