4 ms·
Heh, heh. I'll see if I can come up with a better formulation; any suggestion? I agree with your remark about Ruby, but we're now looking into what can be don
by ztzg 17y ago
Heh, heh. I'll see if I can come up with a better formulation; any suggestion?
I agree with your remark about Ruby, but we're now looking into what can be done for speeding up real-world code, Rails being an obvious target. Also, Python is quite popular for scientific computing, and we can integrate CrossTwine Linker into other environments—including proprietary ones.
- aminuit 17y agoPython is popular in scientific computing circles because of NumPy and SciPy, which use C++ and Fortran (!) libraries for the heavy lifting. If you want to stick to the original phraseology, then I think "The CrossTwine Linker engine reduces the execution times of these synthetic benchmarks by up to 75%" is more appropriate, though I would prefer something that highlights the quixotic nature of optimizing computationally intensive Ruby code. I suggest the following. "Here at CrossTwine, we understand that when all you have is a hammer everything looks like a nail. Our integrated CrossTwine hammer has been optimized specifically for pounding all kinds of nails! Got a nail with threads on the outside? CrossTwine! Nail with a hex head? CrossTwine!" I kid, I kid. If I could earn a living optimizing interpreters all day long I certainly would. Incidentally, I really like the name "CrossTwine" despite the fact that I don't understand how it relates to your product at all. Can you explain it to me?
- ztzg 17y agoThanks! And thanks for the laugh! I totally agree about NumPy and SciPy, but that doesn't mean the glue between these parts should not be optimized! Lots of uses of Python involve modules made of native code, and we do not have the pretension to eliminate them from one day to the next. Quite the opposite: we want to make sure both worlds work well together, and empower people to do more ambitious things on top of these concrete (in both senses of the word) foundations. Another variation: let's say you have a large application written in C/C++ and want to provide a dynamic language for scripting/extensibility (think expert systems or CAD, where extensive customization is necessary). Not only can we provide recommendations and do the integration work for you (we're a services company), but we can sprinkle the whole thing with a bit of customized magic which will give the “interpreter” an intimate knowledge of your domain objects, removing the “speed hit” barrier and opening new possibilities. Which brings me to your question: what CrossTwine Linker does is look at the objects, functions and modules involved in a scenario, and try to weave the fast paths together so that little dynamism is left; i.e., it ties “objects” together with a native code “thread.” That napkin drawing looked awfully like a ball of twine, we needed a name, and it seemed to be the only domain on the Internet which had not been judiciously “parked.”