top of page

Research Updates

  • Writer: Andrew Perrin
    Andrew Perrin
  • Jan 20, 2024
  • 1 min read

The MATLAB version of my program was having an issue where some of the parallel workers (each worker runs on a processor core) would sometimes just spontaneously quit and walk off the job, so to speak, leaving the remaining workers/cores to pick up the slack. Some googling revealed that this could happen if they ran out of memory, and so I tried to update my code to use less RAM by clearing out large variables as soon as the program was through with them. This seemed to help, but in the midst of optimizing my code, I realized my MATLAB was running the old Intel version, not the new Apple Silicon version, and that was another reason for the excess memory usage. I upgraded MATLAB to the proper version and now all is well.

  • Writer: Andrew Perrin
    Andrew Perrin
  • Jan 7, 2024
  • 1 min read

Updated: Jan 20, 2024

My original code for enhancing gravestones was written in the MATLAB language, but MATLAB's license agreement does not allow commercial development (unless I want to pay them a whole lot of money). MATLAB also runs very slowly compared to compiled languages — Python, which is interpreted, is slightly slower but comparable. Pure C runs about 100 times faster than MATLAB in my own informal testing, so it was tempting to switch the program to C. But doing so would require an immense amount of work.


In searching for a non-proprietary language that is well-suited to scientific computing and also runs quickly, several friends steered me towards the fairly new Julia language (released 2012), which runs nearly as fast as C according to its founders. Julia's syntax is similar to MATLAB's in many ways, and it has lots of packages available for scientific computing and mathematics. In fact, it's the only language I know that fully supports Unicode and thus allows Greek letters to be used as variable names!


the open source Julia logo

Back in December I began the process of porting the code to Julia, and found it was mostly smooth sailing, justifying my choice. I haven't finished the port yet, but I hope to be done by the end of the month. I'm excited to see if the speed advantage is as advertised!



bottom of page