On 10/02/2009, at 10:25 PM, Andrew Rodland wrote:

On Tuesday 10 February 2009 04:53:32 am Neo [GC] wrote:
Hello people,

I'm working on a rather big CRM system using Catalyst with all bells and
whistles. For database, we use DBIx::Class::Schema and this drives me
crazy...

Apart from Catalyst being really resource hungry, the startup time for the application (testserver oder fastcgi) is ok, about 4 seconds on my development-system (CentOS on VMware Fusion on MacOS X Leopard, Core 2
Duo 2.2GHz). It's not perfect for developing, but it is completely
acceptable.
But as soon as I activate my DBIx schemas, the startup time multiplies:
12 seconds with my first (and most important) schema, 25 seconds when
using all schemas.

Just to be clear, since you mention startup time, are you using a fixed
DBIx::Class::Schema, or DBIx::Class::Schema::Loader at runtime? If the
latter, a slow startup is to be expected, and the solution is largely "don't do that then". If the former, then I suspect Nigel has you headed in the
right direction.


Yes, it's generally very bad practice to regenerate the schema with schema::loader at every startup.

You can use schema::loader to dump to disk and add components yourself (below the line that says "do not modify below this line".


Here's one I prepared earlier:

#!/usr/bin/perl
use warnings;
use strict;
use DBIx::Class::Schema::Loader qw/ make_schema_at /;

make_schema_at("Zotero::Schema",
               {
                   # components => ['InflateColumn::DateTime'],
                   debug => 1,
                   relationships => 1,
                   dump_directory => './lib' ,
               },
               ["dbi:SQLite:dbname=../zotero.sqlite", "",""]);



_______________________________________________
List: [email protected]
Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
Searchable archive: http://www.mail-archive.com/[email protected]/
Dev site: http://dev.catalyst.perl.org/

Reply via email to