Tangent Works uses Julia to provide a comprehensive analytics product covering a variety of energy sectors, eliminating barrier between prototyping and production.
The company’s primary product, Tangent Information Modeler (TIM) is developed in parallel in both Julia and C++. But Tangent Works finds a number of advantages with Julia that make it a compelling platform for predictive modeling and real-time analytics:
“In our company, Julia blurs the barrier between prototyping done by data scientists and production development done by our developers. Thanks to Julia, both activities are carried out within the same platform. This brings a lot of advantages, including much faster development and much easier maintenance of code.”
Since Tangent Works maintains two versions (Julia and C++) of the same program, they were able to directly compare certain critical routines in TIM. Their performance tests revealed that Julia is on par with C++ in terms of speed, but significantly improves developer productivity.
Previously, the company used Matlab for prototyping, in which a typical model-building task would take a few minutes. In Julia, direct BLAS calls, de-vectorization using tight loops and removal of temporary memory allocations introduced useful speedups, turning minutes into seconds.
The savings in time, cost and productivity benefit Tangent Works and its clients – making real-time analytics feasible for more use cases, and making it more efficient, more accessible and less expensive.