on 2018 Aug 02 12:47 PM
We're currently deciding on the best set up of our development environment and some developers are requesting Linux machines, because we've heard that the startup/build time with Linux is significantly faster. Since the startup time is already around two minutes and the development probably requires frequent local builds, the argument is that Linux development machines would significantly improve productivity in the long run.
The counter argument is currently that our IT department does not support Linux and hearsay about better productivity is not an argument to get that changed. I would need actual numbers or at least experience reports from people who made the switch, neither of which I can find anywhere.
So the question boils down to:
Is there a noticeable build speed difference between Linux and Windows for Hybris Commerce using the same hardware?
Request clarification before answering.
Hi
I measured it long time ago, about 3 years and difference of build time was over 100%.
On Linux/MAC machine build of version 5.7 (Accelerator B2B) with custom extensions was about 180~200 secs, where Windows 7 was above 400secs. It was on similar HW, our developers machines were then like Intel I7 with SSD 256/512 and 16GB of RAM.
I can see this today too, especially when we use SDC based Windows hosts for deployment. Observation is that Windows build takes over 15minutes when the same configuration on Linux is like 5 to 7minutes (6.1, B2B accelerator CPQ capabilities)
In general I suspect filesystem as problem. NTFS is not good with lot of little files. Another factor to take into account of this experience is SDC means virtual machines, where I work with physical deployment, so it is not possible to match hardware configuration.
I use Linux machine for work, but as a member of LABS I have little more freedom of setup as you may have.
Regards - Michal
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
From experience, I would say that the closer your development environment is to production the better. If your servers are on windows then you may use it. I understand build time is an issue and even in linux it is painful but JRebel worth the price.
On my team everybody is using Linux as well as the production servers (and every other environment)
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I think testing on a production look-alike environment is great (that's the pre-prod). But I also think a Java proghould work everywhere so there is no reason to use a copy of an aimed environment for development. You should be able to deploy your hybris server on Unix or on Windows just by fixing config but not code. For the database, if you use target DB, developers will use builtin method that won't work on all DB so the best for is to keep HSQLDB for development and tell devs to only use methods from FlexibleSearch and not direct SQL methods.
yes you are rigth about JAVA running everywhere. Rigth again, the pre prod is the copy of the prod for testing and the only change on windows and linux is the config.
I was speaking in a more general manner. Our environnement is fully dokerized so it easy to have an environment close to prod.
Yes never use SQL in your code.
Yes hybris is definitively aimed to work on Linux and not on Windows anymore. It's has not always been true though. I remember when I started hybris 7 years ago. It was not a good idea to use Mac to install hybris because of Java taking ages to be up to date on this OS and code behaved sometimes differently at the time of java 6. Also if you look at release 4 documentation you'll see that the preferred system was Windows - all paths used C:\ : https://wiki.hybris.com/display/release4/Full+Installation
Unfortunately (for me) it seems that they stopped taking care of Windows because it become worst with every version. Currently with 6.7 it takes about 15 min to run an ant clean all of a storefront installation even with an SSD. And the worst part is I must run ant clean all to generate data... it should be enough to use ant all but it fails in 6.7...
So yes when using Windows without Jrebel or something like this it is really painfull. On the other hand, devs that use Linux always have issues with simple action, just opening an Excel or editing it can be a problem. Or (really funny in 2018) most of the time xserver fails when trying to connect to an external screen!. I used to work on Linux but now I prefer using Windows. Most of the stuff done on Linux can be done on Windows but the reverse is definitivey not true.
To conclude you'll lose time on Windows at compilation but you'll most likely win time for other features that are better handled in Windows. Productivity is almost the same using Windows or Linux, for me it's the developers skills that make the difference!
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
| User | Count |
|---|---|
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.