building on MacOS vs Windows
I'm using IDEA (2018.x) on both Windows and Mac. This isn't really an IDEA specific question but it may be a community where people have good ideas and answers ;-)
Mostly I build on a 2016 MacBook Pro 15". I mostly work with some open source projects and my typical build for one of these takes 5-6 minutes on the mac. It's a fair size project, and I'm very happy with this. IDEA is also very responsive. I'm using maven 3.5.3 & java 1.8 (162)
If I build on windows 10 (with idea directories excluded from AV) the identical build (there aren't any platform specific build changes)I get 15-20 minutes. That's on a pretty decent few years old i7 4 core/16GB ram/SSD system. Building on my i5/4GB/SSD Surface pro 2017 the build is taking 25-30 minutes. No surprises it's slower of course. Crystalmark disk I/O performance checks seem fine, and I've noticed no other issues with other tasks
If I run the build under an ubuntu vm on that same windows hw (Hyper-V enabled) I get a build time more like 7 minutes... no surprise as the hardware isn't that different to the mac in overall performance
I'm a little bemused why mac >> windows. At least on the desktop I see no evidence of memory constraint/paging or the intellij process suffering.. disk I.O is significant, not 100%, cpu is way down - but then these are all multicore systems. I can only conclude that perhaps it's the file system/ntfs just being less efficient than Linux file system, though it could also be the java vm.
As I said not really intellij, but perhaps people with experience of crossplatform dev could comment?
Many thanks
Nigel.
请先登录再写评论。
NTFS is indeed much slower than Linux/Mac file systems and affect the build times a lot.
Uninstalling the antivirus completely may also help.
Thanks. Even with AV disabled completely, 8.3 generation disabled, last access time disabled, checking J9 JVM, or even latest Java8 172 Win/NTFS was still way slower than ubuntu or macos. best case for windows was just under 3x slower, whether vs mac, or indeed ubuntu on same system.
This appears to be 'just the way it is'
Disabling antivirus may not help in some cases, only complete uninstall which removes the low level file system driver can help.
I recently made a very similar observation that left me puzzled. I have two systems, that should be pretty close:
System macOS Mojave: i7 8700K, 32GB RAM, SSD 970 EVO 1TB
System Windows 10: AMD 2700x, 32GB RAM, SSD 970 EVO 1TB
Yes, the 8700K is a little bit faster, but the difference should be within 10-20%. I have two benchmark points where I can easily compare:
1: Starting up my Tomcat 9 web app from inside IntelliJ:
macOS: ~15 sec
Windows: ~35 sec
2: Doing a specific task inside the web app that is performance critical:
macOS: 380 ms
Windows: 1300 ms
As I said, I could understand a difference of around 20%, but here we have factor 2.5-3.5 which is crazy.
I verified with various benchmark tools, that my Windows machine is properly configured and fast, and yes it is... no problems in other static benchmarks or games and so forth. Also double checked other software configuration and everything seems fine. No AV besides the default windows defender thingy.
The idea with the file system is a good one though, so my next step will be to install a linux on the Windows machine and check the times there. The task are all somewhat FS intensive, but also CPU. If it really is the file system... man I can no longer recommend Windows for development until they fix their ancient file system.
I also had a similar observation,
In windows 10(16B RAM, SSD), springboot application- have a build time of 2 minutes 41 seconds.
In Mac/Linux in the same mmachine, same springboot application - have a build time of 30 seconds to 1 minute max.
This gives a clear contrast and its very evident that more and more developers will soon switch to Mac than windows if nothing is done in this area sooner!