Switching to Linux: A Windows developer’s view

A few weeks ago, I switched my development environment from Windows to Linux, on a project which was developed so far on Windows only. In this post, I want to describe the issues that brought me to this switch, a short overview how I did the actual port, and some observations on Linux for developers. This is the first post in a series of at least two, the second post will describe the tools I use on Linux right now.

Background

The project I’m working on is written in C++, with some Python tools mixed in. My original development environment was Visual Studio 2005 on Windows XP. This is already the first issue: Updating Visual Studio or Windows is not trivial, as both the OS upgrade as well as IDE updates require new licenses, and especially in companies new versions are not bought immediately.

The problems became apparent when I tried to multi-thread parts of the application. At the core, it’s doing a lot of number crunching, in small work blocks which can be processed independently. As I couldn’t use OpenMP due to dependency issues (a 3rd party library could not be linked when OpenMP was enabled), I was threading manually. Unfortunately, the application had to allocate some memory in each thread, and as it turned out, the scaling on XP was catastrophic. While I did get a speedup from 1->3 cores, it became slower from 3->4 – clearly, I was hitting some issues with either the scheduler or the memory subsystem, as my code didn’t have any I/O in it. Continued …

Related Posts

Distro Update: Zenwalk Live 5.2 The Zenwalk development team has announced the release of Zenwalk Live 5.2, the live CD distro that is based on Zenwalk Current. Zenwalk is a Linux di...
What Microsoft Doesn’t Get – And What I Hope You Do You know what Microsoft doesn't get? -- For one thing, the Internet. Microsoft doesn't control it. What it used to be able to do in the dark now fa...
Open Source Driver Development Portal VIA Technologies, Inc, a manufacturer of x86 processor platforms, has launched a new Web portal dedicated to Open Source driver development. At this i...
Free software in the Haiti aid effort, and how you can help OpenStreetMap and Sahana are two free software projects that are facilitating aid to Haiti. We wanted to call attention to two free software proje...
HP Open Sources TRU64 AdvFS The source code to Advanced File System (AdvFS), the file system for HP's Tru64 UNIX, has been contributed to the open source community. To ensure com...
Astaro home user license upgraded Astaro Security Gateway Home Edition, a free, Linux-based firewall-cum-router distribution, has just had its IP address limit bumped to fifty (50). Pr...

We Recommend These Vendors and Free Offers

Launch an SSD VPS in Europe, USA, Asia & Australia on Vultr's KVM-based Cloud platform starting at $5:00/month (15 GB SSD, 768 MB of RAM).

Deploy an SSD Cloud server in 55 seconds on DigitalOcean. Built for developers and starting at $5:00/month (20 GB SSD, 512 MB of RAM).

Want to become an expert ethical hacker and penetration tester? Request your free video training course of Online Penetration Testing and Ethical Hacking

Whether you're new to Linux or are a Linux guru, you can learn a lot more about the Linux kernel by requesting your free ebook of Linux Kernel In A Nutshell.


Leave a Comment

Your email address will not be published. Required fields are marked *

*