On Thu, 12 May 2005 ben@fuhok.net wrote:
My guess is that this problem doesn't have much to do with your gambit installation or with the speed of compiled vs interpreted code.
I don't think that's correct. Gambit's serialization of continuation is slow, at least in part due to linear lookups being done on all the serialized data when constructing the external representation. Because of the closure representation used in the interpreter a lot of data gets included. The new table facility might be used to help implement this in a more efficient way.
The example passes the continuation around via a query parameter, not by a hidden form field (though the continuation is included there too).
Note that it doesn't matter if you're using GET whether you pass the continuation in a hidden form field or by tacking it to the URL.
I bet that the example would run very well if the continuation was passed around using POST instead of GET.
It would still be slow. I use continuation serialization to implement process migration in my system and even a "small continuation" will take around a second or two to serialize. When I was including libraries like SSAX or htmlprag, the system was hanging for minutes. At first I thought my program was stuck in an infinite loop, but that's because I was underestimating infinity :)
Guillaume