Hacker News new | ask | show | jobs
by ufmace 3172 days ago
I agree with the author on quite a few things, but not the main point.

First thing that bothered me: He was bothered by the need to `sudo /etc/init.d/PostgreSQL start` to start up Postgres every boot. Yeah, that's annoying, but easily mitigated by running Postgres (and MySQL and any other service you need) in the Windows layer. Postgres installs just fine in Windows, and uses the Windows service system, which has gone basically unchanged for decades, versus Linux with like 3 service management systems.

But the main thing is that his main objection is that his test suite is about half as fast as it should be. This is honestly not a big deal to me, and I do Rails full-time as well. IMO, even the fastest run of his test suite at 2 minutes is still way too slow to run regularly. If I was working on that app, and I've worked on many with test suites many times slower than that, I would have already switched to running a limited part of it that tested what I was actually working on. I stick to about a 10-second max for tests that I run routinely while working. If it's longer than that, I'll run a smaller set that's under that, and run the full suite maybe once before pushing, or just let the CI server run it. I have to figure the number of people for who that kind of slow-down is a deal-breaker is pretty low.

2 comments

The problem is, this file system slow down really affects the productivity.

For example, I have a heavily customized Zsh and Neovim. In Linux, using a SSD and the startup times for both are insignificant. Even on my system with a slow HDD (5400RPM) the startup times are not bad unless my system is under heavy IO.

In WSL inside a Windows setup with SSD, the startup time takes half a second, hardly worst than my Linux setup with HDD! Not only startup times are bad, tab completion sometimes take multiple seconds to complete. This is unacceptable, specially considering a system running on SSD.

So while I concur his CI times are bad either way, this slow in files system is really bad in WSL.

> easily mitigated by running Postgres (and MySQL and any other service you need) in the Windows layer.

Which comes with its own set of problems.

The entire point of MSFT in releasing WSL was so devs on Windows could use Unix-y goodness on Windows. I think that reasonably applies to the usage of Postgres too, and not just ruby/node/etc.

----

The proper way would be for Windows to autostart WSL when the user logs in / system starts, like providing a "Linux boot up" behaviour to the WSL userland and trigerring it on actual system boot up.

> Which comes with its own set of problems.

Such as? Seriously, I'm running it like that and it works fine. I'll grant that Ruby on Windows only kind of works, but no problems with PG or MySQL.

I do agree though that WSL ought to run as a Windows service and do the normal Linux boot process when that starts.