On Wednesday, July 2, 2014 8:18:40 AM UTC-7, Nicolas Goy wrote:
>
> I am doing something like:
>
> FIELDS = %w(size data data_string ...).map {|c|
> Sequel.qualify(:second_table, c) } # FIELDS have about 50 entries
>
> fields = SecondTable.select(Sequel.function(:array_agg,
> Sequel.pg_row(FIELDS)))
>
> MainTable.select_append(Sequel.as(fields, :all_fields))
>
> This yield to a fast SQL query (50ms for the query), but sequel seems to
> introduce a lot of overhead (about 300ms) to parse the result.
>
> Most of the time is spent in: Sequel::Postgres::PGRow::Splitter#parse
> (80%)
>
> I am wondering if I can do something about it or not.
>
You can rewrite the parse method in C (which I'd consider including in
sequel_pg).
You could possibly try to optimize the ruby code. However, the ruby code
is already written using StringScanner (itself implemented in C), so I
don't know how much more you could optimize it.
Thanks,
Jeremy
--
You received this message because you are subscribed to the Google Groups
"sequel-talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sequel-talk.
For more options, visit https://groups.google.com/d/optout.