Thank you. Yes, I generally Export directly to TIFF... I omitted for simplicity. Would SVG or PDF offer advantages over TIFF in this particular case? I'm new to the idea of a vector format.
Unfortunately, compilation does not appear to increase the speed. Although, I'm guessing I am doing something wrong, since I have never compiled anything before. Here is a comparison:
myHairyStarfish[a_, plotpts_, thickness_, imagesize_] :=
ParametricPlot[
Evaluate[{Sum[(2/3)^k Sin[(3/2)^k t], {k, 0, a}],
Sum[(-(2/3))^k Cos[(3/2)^k t], {k, 0, a}]}]
, {t, 0, 2^(a + 1) Pi}, MaxRecursion -> 5, Axes -> False,
PlotPoints -> plotpts, PlotStyle -> {Thickness[thickness], Black},
PlotRange -> {{-2.5, 2.5}, {-2.5, 2.5}},
ImageSize -> {imagesize, Automatic}]
myHairyStarfish[11, 15000, 0.00004, 500]
takes 2.02 seconds.
cf = Compile[{t}, Sum[{(2/3)^k Sin[(3/2)^k t], (-(2/3))^k Cos[(3/2)^k t]}, {k, 0, 11}],
CompilationTarget -> "C", Parallelization -> True]
ParametricPlot[
cf[t]
, {t, 0, 2^(11 + 1) Pi}, MaxRecursion -> 5, Axes -> False,
PlotPoints -> 15000, PlotStyle -> {Thickness[0.00004], Black},
PlotRange -> {{-2.5, 2.5}, {-2.5, 2.5}},
ImageSize -> {500, Automatic}]
takes 2.42 seconds.
But cf[t] still seems to be evaluating within ParametricPlot, so that's probably why. Is there a way to take cf[t] from cf[0] to cf[2^(a + 1) Pi] first, then plot it after?