Community Spring Cleaning week is here! Join your fellow Maveryx in digging through your old posts and marking comments on them as solved. Learn more here!

Engine Works

Under the hood of Alteryx: tips, tricks and how-tos.
ned_blog
8 - Asteroid

Is it just another case of "ours goes up to 11"? Actually no - there are some very real reasons for 64 bit with Alteryx.

 

  1. It allows us to use more memory. On big servers you can have 8GB, 16GB or more of memory and Alteryx can use as much as you allocate to it.
  2. It allows more address space. This one is very subtle. A 32bit process is limited to 2GB of total address space. Even when Alteryx is not using a full 2GB of memory, the memory it is using can get fragmented to the point that it can't allocate the memory it is requesting. This can cause memory allocation failures on large processes.
  3. Realistic use of memory mapped files. This is mostly an advantage for Calgary indexes, but other data engines like Guzzler can use this as well. We ask the OS to pretend that the entire file is in memory and then our code doesn't have to deal with any file I/O. This makes for faster I/O since we are able to directly tap into the OS's disk cache.
  4. OS & runtime improvements: Since Microsoft got to write the 64 bit compilers and kernel after writing the 32 bit ones, they learned a lot from their mistakes. There are a lot of places where the 64bit libraries from MS just work better. It includes the thread scheduler in the kernel, the memory allocator in the C++ runtime & the .Net runtime.
  5. CPU improvements: The 64 bit instruction set has more registers and that means that there is less memory traffic. This seems to correlate to a 10% to 20% boost in speed for Alteryx without any of the other improvements.

Because of using more memory and other improvements, our data team reports that the 64bit version is often 2X the speed as the 32. Definitely worthwhile. For any new machines being bought for using Alteryx, I highly recommend getting a 64bit OS. We changed our licensing with version 4.1 so everyone has access to the 64bit version, so there really isn't any reason not to use it.