Wreszcie, jeśli żadna z poprzednich opcji nie zadziałała, możesz również użyć wyspecjalizowanych dystrybucji R. Te dystrybucje są utrzymywane niezależnie od zwykłej dystrybucji R i koncentrują się na optymalizacji określonych aspektów w R. Niektóre z nich są zbudowane w celu zapewnienia precyzyjnej kontroli równoległości, a inne robią to automatycznie. Nauka korzystania z tych dystrybucji może wymagać dużo czasu, co może być korzystne lub nie w Twoim konkretnym przypadku.
Podsumowanie
Zobaczyliśmy najważniejsze przyczyny powolnego kodu R: programowanie bez zrozumienia niezmienności obiektów, charakter interpretowanych typów dynamicznych, procesy związane z pamięcią i procesy jednowątkowe. Dowiedzieliśmy się, że pierwszy można zredukować za pomocą odpowiedniego R, drugi można zredukować, delegując do języków statystycznie typowanych, takich jak Fortran lub C ++, trzeci można zredukować za pomocą mocniejszych komputerów (szczególnie z większą ilością pamięci RAM), oraz wreszcie czwarty można zredukować za pomocą równoległości. Wspomnieliśmy również o niektórych zmiennych, które możemy chcieć wziąć pod uwagę przy podejmowaniu decyzji, czy optymalizować nasze implementacje, jak mała różnica we wdrożeniu może skutkować dużymi ulepszeniami wydajności oraz jak wzrost wydajności wynikający z tych ulepszeń może rosnąć wraz ze wzrostem rozmiaru nakładów wzrasta. Na koniec dowiedzieliśmy się, jak profilować i porównywać w celu ulepszenia naszych wdrożeń.