In our application, we noticed that "canvas create line" takes a considerable amount of time when the list of coordinates is not pre-shimmered before it enters the canvas. It looks like the list itself does not gain a string representation, but every double inside does gain a string representation and a type conversion to "pixel". A list of doubles with string representations appears to go around 25x faster than a list of pure doubles, at least with our particular systems and usage of the canvas. After some examination of Tk, I believe the string conversion happens in the conversion to the pixel type. I only tested this on 8.5.9.