• info@happli.be

Monthly ArchiveAugust 2016

Samsung T3 – don't use ExFAT on Mac !

So far I’ve been running a Windows 10 Parallels VM full of Dev tools from my Macbook’s SSD, but as I’m running out of space I’m looking for solutions. In my previous post I explored the option of putting the Parallel’s pvm file on a Transcend JetDrive Lite 360 (256 GB). The conclusion was that the speed wasn’t sufficient for my daily work. So I resorted to trying an external drive. This is was this post is about: evaluating the Samsung T3 external SSD drive.  Criterias are the same as in the previous post. I’m evaluating:

  • the compilation speed
  • the time it takes to run all the tests in my Visual Studio solution
  • the benchmark results of CrystalDiskMark

I bought the drive for about 120€. It’s an SSD drive, with a capacity of 250 GB, USB 3.1 connectivity and it’s not too cumbersome.

 

Samsung T3 drive

Samsung T3 drive

Compiling the Visual Studio solution

This is the time it took to rebuild the whole solution. Time was measured with BuildMonitor (a Visual Studio extension). Times are expressed as MM:SS (minutes:seconds).

  • From the Macbook’s SSD: 00:12
  • From the T3: 00:12

No notable difference in compilation time.

Running the tests

This is quite a big set of integration tests. They take a while to execute (I know I should work on it).

  • From the Macbook’s SSD: 03:40
  • From the T3: 02:09

The T3 is significantly faster in this scenario.

CrystalDiskMark benchmark

The benchmark results illustrated below show that the writing speeds of the Macbook’s internal SSD are faster.

CrystalDiskMark benchmark of the SSDCrystalDiskMark benchmark of the SSD

CrystalDiskMark benchmark of the SSD

CrystalDiskMark benchmark of the T3

CrystalDiskMark benchmark of the T3

Conclusion

Even though the benchmark shows slower writing speeds for the T3, my daily tasks don’t seem (compile, test) to run slower.  Visual Studio even tends to perform better when run from the T3.

But pay attention, I had to reformat the drive. At first I found it very very slow. I was a bit disappointed (it was my second attempt at getting a solution for the same storage problem and I failed again) so I googled with a few keywords and BAM: a first hit solution. This article from the Parallels KB made my day. It’s a known problem when the drive on which the VM runs is formatted as exFAT (which was the case of the T3). I had to reformat it to Mac OSX Extended and it worked. Great speed and experience.

The Samsung T3 external SSD drive seems to be a better alternative than the JetDrive Lite for running a Virtual Machine in a developer context.

I’ll give that solution a go.

Transcend JetDrive Lite 360 256GB: Developer review

I’ve got a Macbook Pro that I use for developing apps cross-platform apps.  It’s a been a great tool so far. I’ve got a Windows 10 running as a Parallels VM and there are plenty tools installed on that VM. Everything that a modern .NET Developer needs (Visual Studio, Git…). I came to the point that I’m running out of free disk space on my macbook’s SSD.

So I started to look for an external storage solution.

  • I wanted something fast (I would put my VM on it)
  • I wanted a compact solution (I carry my Macbook very often, and didn’t want to have to take an external hard drive and its cable with me all the time)

I found that Transcend produces the Transcend JetDrive Lite range. These are tailor-made sd cards for Macbook. They have a specific size so that they do not protrude.

The card has a special size

Special Format

JetDrive Lite 360 256GB inserted in a Macbook Pro

JetDrive Lite 360 256GB inserted in a Macbook Pro

I went for the 360 as I own a mid 2015 Macbook Pro (you have to pick the right model depending on your Macbook). The Transcend JetDrive Lite 360 offers up to 256 GB of storage.

After plugging it into my Macbook, I copied my Parallels VM (a 140 GB .pvm file) from the Macbook SSD onto the JetDrive card. Then I started that VM from Parallels. The boot process seemed slower than from the SSD.  Then I started Visual Studio 2015, opened a solution file composed of several projects. It seemed slower to compile as well. Then, I ran a subset of the NUnit tests contained in that solution (117): it was obviously much slower.

Today, I decided to measure the time it took from the SSD and from the JetDrive Lite so that I could have a better idea of how bad that was. Nothing too scientific. It was all about deciding if I would accept working daily with that setup or if it was definitely too slow. The tasks I measured were the following:

  • compiling the solution file (mentioned above)
  • running the NUnit tests

Here are the results.

Compiling

This is the time it took to rebuild the whole solution. Time was measured with BuildMonitor (a Visual Studio extension). Times are expressed as MM:SS (minutes:seconds).

  • From the Macbook’s SSD: 00:12
  • From JetDrive Lite: 01:17

The JetDrive Lite is 6 times slower at compiling the same solution.

Running NUnit tests

This is quite a big set of integration tests. They take a while to execute (I know I should work on it).

  • From the Macbook’s SSD: 03:40
  • From JetDriveLite: 07:45

The JetDrive Lite is twice as slow as the SSD at this task.

Disk access benchmark with CrystalDiskMark

Even though SSD’s are obviously faster than SD cards, I decided to benchmark the disk access just to get an order of magnitude. I used CrystalDiskMark, from the running VM (under Windows 10). Here are the benchmark results.

CrystalDiskMark benchmark of the SSDCrystalDiskMark benchmark of the SSD

CrystalDiskMark benchmark of the Macbook’s SSD

CrystalDiskMark benchmark of the JetDrive Lite

CrystalDiskMark benchmark of the JetDrive Lite

The JetDrive Lite 360 is a lot slower at writing than its SSD rival.

Conclusion

Even though Transcend doesn’t recommend installing an OS on its JetDrive Lite, I gave it a try in the context of a VM. I wanted to try the SD card solution, even though SSD’s are obviously faster than SD cards, because the option wasn’t too expensive. Still I’m bit disappointed. I think this could be a good solution for some kind of permanent storage, but not for running resource consuming tasks.

I’m still stuck with the same problem of insufficient disk space on my Mac. I’ll have to try different strategies. I’m thinking of:

  • reducing the SmartGuard snapshots retention
  • having a separate virtual Hard Drive (stored on the JetDrive) for my Windows 10 VM and reinstalling dev environments on that separate Hard Drive
  • resorting to using a USB 3 external hard drive that I would have to carry.

Visual Studio – Web Applications : Always debug in Chrome with developer tools open

If, like me, you’re getting bored( it’s just a press on F12 but anyway) of manually having to open the Chrome Developer Tools when you start a new debugging session for a Web Application from Visual Studio, the following trick might help.

We’ll simply tell Visual Studio to pass a specific argument to Google Chrome when it starts it for debugging. That argument is –auto-open-devtools-for-tabs (credits: http://stackoverflow.com/questions/12212504/automatically-open-chrome-developer-tools-when-new-tab-new-window-is-opened)

To let Visual Studio know about that, expand the list of browsers that can be used for debugging and click on “Browse With”, as shown below. In the pop-up that should open, click on “Add”.

List of browsers that Visual Studio can use for debugging

List of browsers that VS can use for debugging

In that pop-up, specify the path to Chrome’s executable file and the argument that VS must pass to it.

Add new browser for debugging

Add a new browser for debugging

You should then confirm and end-up with such a list of browsers. You can set the new browser as the default one (the one that will be used by default when starting to debug your web app).

Add a new brower

This is how it should look now

Then test it. If Chrome was already running, close all its instances (processes included) then start debugging.

Such a trick was used by Scott Hanselmann in the following post http://www.hanselman.com/blog/VisualStudioWebDevelopmentTipAddChromeIncognitoModeAsABrowser.aspx