[Seaside] Increasing the performances of a Seaside application

Mariano Martinez Peck marianopeck at gmail.com
Sun May 29 14:26:10 UTC 2011


On Sun, May 29, 2011 at 4:18 PM, stephane ducasse
<stephane.ducasse at free.fr>wrote:

> >
> >
> > It's a bit better. There's no starvation if the timeout is greater than
> zero, but it's still a form of busy waiting, and it limits the number of
> queries per second per connection to at most 1000 (actually 1000 / timeout).
> To compare this with our native implementation - PostgresV3 - I measured 6k+
> queries per second per connection and it's still not optimized for Cog
> (#perform: is slow on Cog).
> >
> >
> > Thanks Levente. Unfortunatly I guess that's all we can do with a blocking
> FFI :(
>
> Just that I understand why you do not have the same constraints that
> levente?
> What are they? because he does not have either a threaded ffi.
>

Because he uses a native client for PostgreSQL, that is, a driver
implemented directly in Smalltalk: you open a socket and you implement the
protocol the database specify. Easy. They use a Socket, and do not need FFI
because the do not delegate to an external library. They implement the same
as the external library but in Smalltalk.
Why we don't do that?
Because that ONLY and ONLY works for open-sources databases where they can
make available the protocol specification so that you can build as many
drivers as you want. However, non open-source databases (Oracle, SQLServer,
Sybase, etc) DO NOT make the protocol available so you cannot just create
your own driver. Instead, you have to use the driver THEY give you. Of
course, for java they build drivers, so java guys do not depend on anybody,
they just have they jdbc driver. SqueakDBX appeared to solve that problem.

We, Smalltalk community, do not have that luck and we have to use one of the
available drivers they do. All of the databases provide drivers written in
C, and these are the easier to use from Smalltalk. Hence, we depend on an
external library. The same happens with ODBC for example.

Cheers




>
> Stef_______________________________________________
> seaside mailing list
> seaside at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>



-- 
Mariano
http://marianopeck.wordpress.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/seaside/attachments/20110529/1b4b3aff/attachment.htm


More information about the seaside mailing list