eclipse-embed-cdt / eclipse-plugins

The Eclipse Embedded CDT plug-ins for Arm & RISC-V C/C++ developers (formerly known as the GNU MCU Eclipse plug-ins). Includes the archive of previous plug-ins versions, as Releases.
http://eclipse-embed-cdt.github.io/
Eclipse Public License 2.0
555 stars 130 forks source link

Multithreaded CMSIS-Pack index update #468

Open flit opened 3 years ago

flit commented 3 years ago

The CMSIS-Pack plugin should use multithreaded downloads of PDSC files to update the index.

For comparison, cmsis-pack-manager can update the entire index (currently 695 packs) in less than 20 seconds, including download and parsing the PDSC. Most of that time is waiting for a request for an invalid pack URL to time out; the actual update time for 694 packs is about 3 seconds.

ilg-ul commented 3 years ago

Yes, that would be interesting to know how they did it.

Feel free to investigate and suggest solutions.

flit commented 3 years ago

If I get a chance, I'll try to work on it.

ilg-ul commented 3 years ago

I suggest you first make a plan, and then we discuss possible solutions.

flit commented 3 years ago

Sounds good.

ilg-ul commented 3 years ago

Don't get too excited, I completely forgot how that code works, so I can't be of much practical help. :-(

Plus that, as I mentioned, as soon as I reorganise my projects, I'll no longer use CMSIS Packs at all, so my interest in spending time on them is pretty low.

flit commented 3 years ago

Understood. My interest is that users can take advantage of CMSIS Packs to get both SVDs and pyocd config data via an integrated UI. I don't need it for myself (cmsis-pack-manager is integrated into pyocd). (I'm also thinking about making the SVD from pyocd available to the launch config.)

ilg-ul commented 3 years ago

The J-Link plug-in automatically accesses the SVD if the device name was correctly associated with the project and the CMSIS Pack is available.

Anyway, an alternate solution with only a bit more effort to configure is to copy the SVD in the project, and configure the path to it in the SVD tab. And since 6.1.0, the SVD can also be compressed with zip.

flit commented 3 years ago

Nice, thanks for the tips.