Author Topic: MPLAB X a PIC inhibitor! Alternatives ?  (Read 76681 times)

0 Members and 2 Guests are viewing this topic.

Offline Bruce Abbott

  • Frequent Contributor
  • **
  • Posts: 627
  • Country: nz
    • Bruce Abbott's R/C Models and Electronics
Re: MPLAB X a PIC inhibitor! Alternatives ?
« Reply #50 on: November 08, 2017, 07:22:38 am »
If only everyone was as thoughtful as you and listed their system specs when they claimed some modern software was "too slow".
MPlabX is bloatware, and is slow even on relatively modern hardware. But it's not all Microchip's fault. Users were asking for a Linux version, so they did it the only way they knew how - with Java. Instant performance hit. Of course people noticed, but they had an answer - "Just buy a new PC with 10 times faster CPU and 5 times more RAM!". "What, still too slow? Run it in Linux off an SSD!".

I am currently working on a program written in Borland Turbo C++. The editor is a little clunky and doesn't support the mouse wheel, but apart from that it's amazing! 3 seconds after clicking the project icon I am editing the source code. 1 second to compile and run in the debugger. On an 'ancient' Pentium D CPU with a 'mere' 1GB RAM running 'obsolete' Windows Xp. Heaven! 

But I dread running MPlabX to test a few lines of code. Over 1 minute to get a blank page, then another minute or so for 'parsing projects' and 'background scanning' that leaves no CPU time left for what I want to do. Finally it gets to the point where I can start typing in some code, but no! Typing the first character triggers some other process that freezes the cursor for a few seconds. Open a file, change project settings, compile, debug - everything seems to need an annoying amount of time get started. And during all this time MPlabx is sucking up more and more memory - over 500MB to do pretty much the same stuff that MPlab 8.92 does in 150MB. You can't say that isn't bloatware.

I uninstalled Atmel Studio 6 because I kept running out of patience waiting for it to start up. Now Microchip is talking about integrating Atmel parts into MPlabX. Get ready for more bloat!
 
The following users thanked this post: fourtytwo42

Offline mikeselectricstuff

  • Super Contributor
  • ***
  • Posts: 13694
  • Country: gb
    • Mike's Electric Stuff
Re: MPLAB X a PIC inhibitor! Alternatives ?
« Reply #51 on: November 08, 2017, 07:49:44 am »
But I dread running MPlabX to test a few lines of code. Over 1 minute to get a blank page, then another minute or so for 'parsing projects' and 'background scanning' that leaves no CPU time left for what I want to do.
You must be either running on something too ancient to class as a vaguely modern machine,or something is broken or badly configured.
I just tried a  a clean+build on MPLABX 4.05 and XC32 on a project that  generates 100K of code takes 9 secs on my X220, introduced 5 years ago,  which can be had on ebay for £200 or less, with an SSD, maybe £100 tops.
A make with a change to one source file takes under 2 seconds



Youtube channel:Taking wierd stuff apart. Very apart.
Mike's Electric Stuff: High voltage, vintage electronics etc.
Day Job: Mostly LEDs
 

Offline fourtytwo42Topic starter

  • Super Contributor
  • ***
  • Posts: 1183
  • Country: gb
  • Interested in all things green/ECO NOT political
Re: MPLAB X a PIC inhibitor! Alternatives ?
« Reply #52 on: November 08, 2017, 05:13:29 pm »
But I dread running MPlabX to test a few lines of code. Over 1 minute to get a blank page, then another minute or so for 'parsing projects' and 'background scanning' that leaves no CPU time left for what I want to do.
You must be either running on something too ancient to class as a vaguely modern machine,or something is broken or badly configured.
I just tried a  a clean+build on MPLABX 4.05 and XC32 on a project that  generates 100K of code takes 9 secs on my X220, introduced 5 years ago,  which can be had on ebay for £200 or less, with an SSD, maybe £100 tops.
A make with a change to one source file takes under 2 seconds
Personally I have no wish to expend my scarce resources on some high end toy so that I can go on about how fast I can run various bits of bloatware, as I said before it is supposed to be a tool, not an end in itself. Please confine your comments to geeks who wish to genuflect over needlessly powerful machines and pointlessly complicated software! Personally I stick to the KISS principle every time, Keep It Simple Stupid.
 

Offline Bruce Abbott

  • Frequent Contributor
  • **
  • Posts: 627
  • Country: nz
    • Bruce Abbott's R/C Models and Electronics
Re: MPLAB X a PIC inhibitor! Alternatives ?
« Reply #53 on: November 08, 2017, 05:55:33 pm »
I just tried a  a clean+build on MPLABX 4.05 and XC32 on a project that  generates 100K of code takes 9 secs...
A make with a change to one source file takes under 2 seconds
You don't understand, it's not the speed of compilation that's the issue, but the time it take for MPlabX to get the point of being able to compile some code. Kiel Microvision takes 12 seconds to get up and running, Atmel Studio 4 takes 13 seconds, Embitz 20 seconds, MikroC Pro 21 seconds, MPlab 8.92 40 seconds (slow, but still acceptable). And once these IDEs get going they are relatively clean and responsive, unlike MPlabX which continues to do 'background' stuff that just gets in the way.

Unfortunately if you want to program the latest PICs there is no practical alternative to MPlabX, because it hides the chip configuration inside its database and trying to generate it by hand is just too painful. However once it has created a project with the required make file etc., you can compile from a batch file and use your favorite text editor to work on the source. Gets rid of the bloat, but is not quite as convenient as a proper IDE.

I like having a GUI with buttons to click on etc. rather than having to type in commands, but only when the response is immediate so it feels like I am in control. We have computers which are so powerful they should be able to do most stuff instantly, not be hobbled by bloatware.
 
Quote
...on my X220, introduced 5 years ago,  which can be had on ebay for £200 or less, with an SSD
That 'under £200' computer might cost me over NZ$700 once freight and customs duty was paid, then I would have to spend time setting it up. And it probably won't run Xp so I would have to get used to using an OS that I don't like. Why should I invest that kind of time and money (which I can't afford right now) just to program a $1.50 chip?   

Sure I have an 'ancient' computer with a mechanical hard drive that could do with a defrag, but its lower performance just makes the issue more apparent. I have another more powerful machine running Linux which is assigned to another job. MPlabX is faster on it, but still has unexpected lags and still uses over 0.5GB of RAM. The fact remains that Java based IDEs are sluggish and MPlabX is bloated. That such bloat can be masked by throwing more hardware at it is irrelevant.

 

Online JPortici

  • Super Contributor
  • ***
  • Posts: 3452
  • Country: it
Re: MPLAB X a PIC inhibitor! Alternatives ?
« Reply #54 on: November 08, 2017, 06:29:24 pm »
Just for kicks, it took 17 seconds for me to cold-boot MPLABX and let it finish background scanning of projects. Visual studio takes more time.

intel NUC7i5 with SSD, 8GB Ram.
I have just a couple projects open on this PC.

On the computer at work it takes something like 60 seconds but it is
-a laptop with a 5th gen i5
-no ssd (i really have to tell the guy to upgrade my pc, i know.)
 

Offline Karel

  • Super Contributor
  • ***
  • Posts: 2214
  • Country: 00
Re: MPLAB X a PIC inhibitor! Alternatives ?
« Reply #55 on: November 08, 2017, 08:14:44 pm »
Just for kicks, it took 17 seconds for me to cold-boot MPLABX and let it finish background scanning of projects.

Two pc's here, both running Linux and using ext4 filesystem. One has an ssd, the other has a traditional harddrive.
The one with the ssd takes 15 seconds to start MPLABX and finish scanning the project.
The one with the traditional harddisk takes 12 seconds... :-//
 

Offline thm_w

  • Super Contributor
  • ***
  • Posts: 6272
  • Country: ca
  • Non-expert
Re: MPLAB X a PIC inhibitor! Alternatives ?
« Reply #56 on: November 08, 2017, 08:16:00 pm »
MPlabX is bloatware, and is slow even on relatively modern hardware. But it's not all Microchip's fault. Users were asking for a Linux version, so they did it the only way they knew how - with Java. Instant performance hit. Of course people noticed, but they had an answer - "Just buy a new PC with 10 times faster CPU and 5 times more RAM!". "What, still too slow? Run it in Linux off an SSD!".

I am currently working on a program written in Borland Turbo C++. The editor is a little clunky and doesn't support the mouse wheel, but apart from that it's amazing! 3 seconds after clicking the project icon I am editing the source code. 1 second to compile and run in the debugger. On an 'ancient' Pentium D CPU with a 'mere' 1GB RAM running 'obsolete' Windows Xp. Heaven! 

But I dread running MPlabX to test a few lines of code. Over 1 minute to get a blank page, then another minute or so for 'parsing projects' and 'background scanning' that leaves no CPU time left for what I want to do. Finally it gets to the point where I can start typing in some code, but no! Typing the first character triggers some other process that freezes the cursor for a few seconds. Open a file, change project settings, compile, debug - everything seems to need an annoying amount of time get started. And during all this time MPlabx is sucking up more and more memory - over 500MB to do pretty much the same stuff that MPlab 8.92 does in 150MB. You can't say that isn't bloatware.

I uninstalled Atmel Studio 6 because I kept running out of patience waiting for it to start up. Now Microchip is talking about integrating Atmel parts into MPlabX. Get ready for more bloat!

I doubt that computer would run the latest version of Chrome, Firefox, or word well either. Modern software requires a relatively modern PC.
If you are fine with using very old OS and hardware, and older software, and it works for you, that's great. But if you want to run modern software, don't complain that a PC made in the last 10 years is necessary.

Quote
That 'under £200' computer might cost me over NZ$700 once freight and customs duty was paid, then I would have to spend time setting it up. And it probably won't run Xp so I would have to get used to using an OS that I don't like. Why should I invest that kind of time and money (which I can't afford right now) just to program a $1.50 chip?   

I see on trademe.co.nz a desktop i5 with 8GB ram (passmark 6600) for $220 (NZ?). I'm sure better deals can be had, but it tells me that PC's are not unreasonably expensive there.
Profile -> Modify profile -> Look and Layout ->  Don't show users' signatures
 

Offline Fire Doger

  • Regular Contributor
  • *
  • Posts: 207
  • Country: 00
  • Stefanos
Re: MPLAB X a PIC inhibitor! Alternatives ?
« Reply #57 on: November 08, 2017, 08:31:49 pm »
As a new mplab user my experience was: "WTF? dat thing is broken?"
I was trying to learn harmony, every time I open harmony configurator it allocates RAM and doesn't release it on closure... I got 8Gb of RAM, It's not normal an IDE running nothing to fill it up...
As a newbie I love CTRL+SPACE, stops working, restart... :palm:
 

Offline NorthGuy

  • Super Contributor
  • ***
  • Posts: 3137
  • Country: ca
Re: MPLAB X a PIC inhibitor! Alternatives ?
« Reply #58 on: November 08, 2017, 09:15:05 pm »
If you are fine with using very old OS and hardware, and older software, and it works for you, that's great. But if you want to run modern software, don't complain that a PC made in the last 10 years is necessary.

Why? The software can run quite fast on a PC which has a small fraction of the capabilities of modern PCs. It did run fast enough 20 years ago. But then there were decades of rapid growth in computer capability. Software wise, this produced extremely boated software. It was beneficial to add bloat on top of bloat because all the inefficiencies were eaten by the computer progress soon after the release. Not any more. The bloat of last 5-7 years remains. Software is getting slower and slower, and it also getting buggier and buggier. The public accepts this as necessary evil because they don't know better. The only thing that thrives is gaming - no one will play the games which are slow. Everything else is slow ... And buggy.

Meanwhile these Intel processors are blazingly fast. Have you tried to run any benchmarks on them? How can software be slow on these processors? Are you implying that we must accept the software horrors without complaining?

 

Offline mikeselectricstuff

  • Super Contributor
  • ***
  • Posts: 13694
  • Country: gb
    • Mike's Electric Stuff
Re: MPLAB X a PIC inhibitor! Alternatives ?
« Reply #59 on: November 08, 2017, 09:49:36 pm »
If you are fine with using very old OS and hardware, and older software, and it works for you, that's great. But if you want to run modern software, don't complain that a PC made in the last 10 years is necessary.

Why?
It's just a fact of life, get over it. There is no reason for a vendor to put in any work to support very obsolete hardware when new hardware is cheap. Anyone who can't afford a few hundred bucks to run reasonably modern kit is not a significant customer to them.
Microchip have been good in continuing to support old MPLAB8 via the driver switcher, that's as much as anyone could reasonably ask.

Youtube channel:Taking wierd stuff apart. Very apart.
Mike's Electric Stuff: High voltage, vintage electronics etc.
Day Job: Mostly LEDs
 
The following users thanked this post: TomS_

Offline NorthGuy

  • Super Contributor
  • ***
  • Posts: 3137
  • Country: ca
Re: MPLAB X a PIC inhibitor! Alternatives ?
« Reply #60 on: November 08, 2017, 10:36:04 pm »
It's just a fact of life, get over it. There is no reason for a vendor to put in any work to support very obsolete hardware when new hardware is cheap.

I don't have MPLAB X on anything quite 10 years old so I perhaps cannot judge well. But I have it on some old PCs (ca 2010), as well as new ones. I didn't really notice much of a difference between MPLAB X performance on these old computers and the new ones. It might be reasonably fast, but it still loads slow, it still has inexplicable delays here and there, bugs. MPLAB 8 (on the same PCs) doesn't have any of these problems. Looking forward, MPLAB X will only get slower, but computers won't get much faster. That is a fact of life.

Cannot really blame Microchip. Everyone does the same.

One poster here has built a PC specially to run Vivado - lots of memory, multi-core processor, cooling - whole enchilada. But it still was slow ...
 

Offline KL27x

  • Super Contributor
  • ***
  • Posts: 4099
  • Country: us
Re: MPLAB X a PIC inhibitor! Alternatives ?
« Reply #61 on: November 08, 2017, 10:54:52 pm »
I'll add my experience that MPLAB X and IPE are clunkers.

My computer is less than 5 years old. Nothing special, because I don't play games on it or do video editing. icore 5 3GHz win 7 64bit. 4 measly GB RAM. Maybe RAM is the problem?

If I can buy a computer for 200.00 that runs MPLAB in a way that isn't infuriating, and to do it on Windows, ok fine. I'm more curious what spec on the computer is needed. Is it the processor and clock speed? Is there an issue with 64bit vs 32 bit? How much RAM do you need?

200.00 is chump change, but include time as being AV guy, IT guy, crawling around with a flashlight and plugging/unplugging wires, removing bloatware, getting computer on your network, and reinstalling all your software. And in general, looking at "loading 23%" bars. To heck with the money, it's the time and effort and aggravation.
 

Offline thm_w

  • Super Contributor
  • ***
  • Posts: 6272
  • Country: ca
  • Non-expert
Re: MPLAB X a PIC inhibitor! Alternatives ?
« Reply #62 on: November 08, 2017, 11:01:43 pm »
I'll add my experience that MPLAB X and IPE are clunkers.

My computer is less than 5 years old. Nothing special, because I don't play games on it or do video editing. icore 5 3GHz win 7 64bit. 4 measly GB RAM. Maybe RAM is the problem?

4GB ram is a little low, yes, can't say if it would make a difference for mplab though. Do you have an SSD?
Profile -> Modify profile -> Look and Layout ->  Don't show users' signatures
 

Offline KL27x

  • Super Contributor
  • ***
  • Posts: 4099
  • Country: us
Re: MPLAB X a PIC inhibitor! Alternatives ?
« Reply #63 on: November 08, 2017, 11:04:40 pm »
No. If this thread extracts what exactly is needed to run MPLAB X / netbeans on Windows, maybe that would be the best thing to come out of the thread.

When I am up for the 8 hours of work involved in transferring over to a new system, I would keep those in mind. SSD and 16GB RAM is on my list.
 

Offline thm_w

  • Super Contributor
  • ***
  • Posts: 6272
  • Country: ca
  • Non-expert
Re: MPLAB X a PIC inhibitor! Alternatives ?
« Reply #64 on: November 08, 2017, 11:13:16 pm »
No. If this thread extracts what exactly is needed to run MPLAB X / netbeans on Windows, maybe that would be the best thing to come out of the thread.

When I am up for the 8 hours of work involved in transferring over to a new system, I would keep those in mind. SSD and 16GB RAM is on my list.

Samsung SSDs comes with an app to transfer your existing OS/disk over. If your current data is less than the size of the SSD, then its a few clicks. I think it took mine a few hours or less (150GB), you can let it run overnight. You should see noticeable improvements in any other apps you use (load time, etc.).
Profile -> Modify profile -> Look and Layout ->  Don't show users' signatures
 

Offline KL27x

  • Super Contributor
  • ***
  • Posts: 4099
  • Country: us
Re: MPLAB X a PIC inhibitor! Alternatives ?
« Reply #65 on: November 08, 2017, 11:33:35 pm »
It also seems like icore 7 vs 5 is a big difference, per some of the responses. Maybe more effect than an SSD.

 

Offline NorthGuy

  • Super Contributor
  • ***
  • Posts: 3137
  • Country: ca
Re: MPLAB X a PIC inhibitor! Alternatives ?
« Reply #66 on: November 09, 2017, 12:01:54 am »
It also seems like icore 7 vs 5 is a big difference, per some of the responses. Maybe more effect than an SSD.

Depends on what you want. IMHO, the memory speed is important. With all this multi-threading and hyperthreading memory access is often a bottleneck. The high pin count CPUs (e.g. i7-7800X) have wider memory bus, so when combined with fast DDR4 memory should increase the speed. But they're probably $400-500, plus $500 for motherboard, $150 memory. 200 you wanted to spend on it, may not be enough.

I don't think SSD is important - it is all cached after the first read anyway. Better get rid of the antivirus on your way.

 
The following users thanked this post: KL27x

Offline mrpackethead

  • Super Contributor
  • ***
  • Posts: 2845
  • Country: nz
  • D Size Cell
Re: MPLAB X a PIC inhibitor! Alternatives ?
« Reply #67 on: November 09, 2017, 12:19:20 am »
I do some quite large PIC32 Projects, using MPLAB X ( 4.05 now ) with XC32.   I have a reletively decent workstation at which i work runnign win10.

I7-6700 @ 3.4Ghz, 32GB ram.. mirrored SSD drives, and a decent video card.     The only thing that is 'slow' is start up of MPLABX which takes about 6 seconds to load up all its modules etc.         My machine is not bogged down with lots of other crap, its what i use to 'work' on.    I use the machine for other design work as well,  and having the grunt is just sensible.   

MPLABX is'tn perfect, but its far from the worst, and increasingly i'm just learing that more often than not, the problems i face are of my own making ( due to lack of knowing ) than it being fundementally flawed.



On a quest to find increasingly complicated ways to blink things
 

Offline cv007

  • Frequent Contributor
  • **
  • Posts: 822
Re: MPLAB X a PIC inhibitor! Alternatives ?
« Reply #68 on: November 09, 2017, 03:27:50 am »
Quote
When you have mulltiple projects open , it's not immediately obvious which file belongs to which project  -Mouseover the tab shows the path, but it needs to be more obvious to avoid accidentally editing the wrong file, like changing the tab colour for the selected project
There are options under tools-options-appearance-document tabs- you can have tab colors, parent folder name in tab, etc.
 

Offline FrankBuss

  • Supporter
  • ****
  • Posts: 2365
  • Country: de
    • Frank Buss
Re: MPLAB X a PIC inhibitor! Alternatives ?
« Reply #69 on: November 09, 2017, 04:54:15 am »
More numbers: starting MPLAB X and opening the last project, with a PIC12LF1572 and XC8, one source file, needs 14 s for me after booting (restarting the IDE: 4 s). First time "clean and build main project" needs 6 s, successive clean and builds need less than 2 s. Opening the main.c file needs about 2 s initially, closing and opening again is immediate. Also no delays when editing the source code. So it needs some time to warm up. Not the fastest, but it is very usable.

Computer: Intel i7, 4 GHz, 32 GB RAM (Windows 10 was running in parallel in a VM, with 16 GB RAM reserved when measuring the MPLAB X performance), oldschool spinning harddisk, running on Linux Debian, even with software RAID 1 and software harddisk encryption enabled (unlocked at boot time, good protection against data leaks in case someone steals the computer).
So Long, and Thanks for All the Fish
Electronics, hiking, retro-computing, electronic music etc.: https://www.youtube.com/c/FrankBussProgrammer
 

Offline jaromir

  • Supporter
  • ****
  • Posts: 337
  • Country: sk
Re: MPLAB X a PIC inhibitor! Alternatives ?
« Reply #70 on: November 09, 2017, 08:42:41 am »
Another set of numbers, cold start of MPLABX to finish of scanning the projects;
1) Main home computer: Intel G1610 with 8G RAM, 64G SSD, running Linux Mint 18 - 16s to start
2) Tiny 11,6" notebook with some old dual core celeron, 4G RAM, SSD, Linux Mint 18 - 21s to start
3) Computer at work - intel i7 2630QM, 8G RAM, SSD, Windows 7 - 15s to start

Notice the tiny difference between 1 and 3 case. Windows can kill the performance of i7 down to level of crappy cheapest dual core.
In all cases there was few processes running in background, like Firefox with few tabs open and some PDF files, cloud sync running, to better "emulate" real life scenario. I bet that after clean start with no other processes the numbers would be better.
At work I leave MPLABX running all the time, so I waste the horrible quarter of minute startup time once per week.
 

Offline Karel

  • Super Contributor
  • ***
  • Posts: 2214
  • Country: 00
Re: MPLAB X a PIC inhibitor! Alternatives ?
« Reply #71 on: November 09, 2017, 09:59:28 am »
Somebody told me that the difference in performance of Java between Linux and windows is because Java was originally developed (and still is?) on POSIX systems (Solaris).
Then it got ported to windows.
So, the problem isn't so much Java, it's the choice of the operating system. If you are forced to use windows, there's not much you can do apart from upgrading your hardware.
IMHO developing and testing on POSIX systems is the sane choice because there's the way microsoft is doing things and there's the way the rest of the world is doing things.
Not to speak about vendor-lockin...
 

Offline technix

  • Super Contributor
  • ***
  • Posts: 3507
  • Country: cn
  • From Shanghai With Love
    • My Untitled Blog
Re: MPLAB X a PIC inhibitor! Alternatives ?
« Reply #72 on: November 09, 2017, 06:37:59 pm »
OMG how horrible! firstly it is very very super slow apparently due to it's Java base, ...

No problems here, probably because I use Linux. Windows & Java is not a good combination imho.
On Linux, Java runs like a rocket.

Apart from that, the XC compilers can be slow due to the license checking mechanism.
For the XC16 and XC32 compilers this can be easily fixed with a little editing described somewhere else
on this forum. Nice side effect is that you will be able to use higher optimization settings.
Not just that. XC16 and XC32 are really just GCC.

For PIC32 you can just use vanilla MIPS32 GNU toolchain (like the one OpenWRT folks use to build programs for routers) and it should work. You may need to get your custom linker script though but I think the ARM Cortex-M linker scripts are good examples for this.

For PIC16 you can grab the XC16 source release from Microchip, patch out license checks and build it yourself. Use your best optimizing compiler and link-time optimizer for fastest resulting code. For XC16 you can also try turn on the C++ language.
 

Offline technix

  • Super Contributor
  • ***
  • Posts: 3507
  • Country: cn
  • From Shanghai With Love
    • My Untitled Blog
Re: MPLAB X a PIC inhibitor! Alternatives ?
« Reply #73 on: November 09, 2017, 06:45:47 pm »
Just to drop in on Java: butter smooth on macOS. Quad-core Haswell Xeon E3-1231v3 at 3.6GHz, 32GB RAM, Fusion Drive, macOS Sierra, Java 8. macOS is UNIX by the way, the BSD flavor, just not the Linux flavor.
 

Offline Sal Ammoniac

  • Super Contributor
  • ***
  • Posts: 1662
  • Country: us
Re: MPLAB X a PIC inhibitor! Alternatives ?
« Reply #74 on: November 09, 2017, 06:50:49 pm »
MPLAB X must be total bloatware!!

MPLAB X isn't bloatware. The problem is the antique hardware you're trying to run it on. The T2300 came out in 2006. That's eleven years ago! I'm not surprised that X runs slowly on your machine. I'm really surprised that you're able to run FPGA tools on the same machine and not experience the same slowness... What FPGA tools are you running? Vivado? ISE 14.7? Quartus Prime 17?
Complexity is the number-one enemy of high-quality code.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf