Re: MrProject 0.8pre released

Benjamin BAYART <[email protected]>
Newsgroups gmane.comp.gnome.apps.mr-project.user
Message-ID <[email protected]>
Le Fri, Dec 20, 2002 at 08:40:24PM +0100, Richard Hult:
> 
> Hi all,
> 
> I've just released a test version of MrProject. There is a lot of new
> features and code in this one, so I wanted to do a "pre-release" version
> before the real 0.8. We would very much appreciate any feedback and bug
> reports on this one. As you know, http://bugzilla.codefactory.se/ is the
> place to go.

This seems to be working well here (no crash at that time), but I'm
a bit in trouble. There is a point that is missing for my use, and
so I try to write the necessary stuff as a CGI script:
- I'd like to know if the same resource is used twice at a given
  time
- I'd like to see a time-table for each resource (people, here)
  involved in the project.

To implement this, I write a small C program that will be used as
a CGI script to display the time-tables. But it's really slow. A
quick "gprof" on the resulting program show that some function are
called approx. half a million time for a relatively small project:

 11.36      0.10     0.10   470198     0.00     0.00 mrp_calendar_get_type
 11.36      0.20     0.10    89082     0.00     0.00 mrp_calendar_get_day
 11.36      0.30     0.10    48773     0.00     0.01 task_manager_get_task_rate_intervals
  7.95      0.37     0.07   183099     0.00     0.00 mrp_time_to_tm
  7.95      0.44     0.07    89082     0.00     0.00 mrp_calendar_day_get_intervals
  5.68      0.49     0.05     3995     0.01     0.14 task_manager_get_task_duration
  4.55      0.53     0.04    89082     0.00     0.00 calendar_get_day
  3.41      0.56     0.03   199889     0.00     0.00 mrp_interval_get_absolute
  3.41      0.59     0.03    94023     0.00     0.00 mrp_time_from_tm
  3.41      0.62     0.03    94023     0.00     0.00 time_set_tz_utc
  3.41      0.65     0.03    49767     0.00     0.00 mrp_task_get_assignments
  2.27      0.67     0.02   142332     0.00     0.00 rate_interval_new
  2.27      0.69     0.02    94023     0.00     0.00 time_reset_tz
  2.27      0.71     0.02    94017     0.00     0.00 mrp_time_align_day
  2.27      0.73     0.02    89082     0.00     0.00 calendar_get_default_day
  2.27      0.75     0.02    89082     0.00     0.00 mrp_time_day_of_week
  1.14      0.76     0.01   275418     0.00     0.00 mrp_task_get_type
  1.14      0.77     0.01    59330     0.00     0.00 mrp_project_get_type
  1.14      0.78     0.01    28797     0.00     0.00 imrp_task_peek_predecessors
  1.14      0.79     0.01    23033     0.00     0.00 mrp_relation_get_type
  1.14      0.80     0.01    20975     0.00     0.00 mrp_task_get_finish
  1.14      0.81     0.01    11917     0.00     0.00 mrp_resource_get_type
  1.14      0.82     0.01     8925     0.00     0.00 task_manager_get_task_start
  1.14      0.83     0.01     3995     0.00     0.00 imrp_task_set_duration
  1.14      0.84     0.01     2750     0.00     0.00 mrp_task_get_latest_start
  1.14      0.85     0.01     1020     0.01     0.25 mrp_task_manager_get_task_work
  1.14      0.86     0.01      594     0.02     0.02 imrp_project_set_needs_saving
  1.14      0.87     0.01       85     0.12     9.90 task_manager_do_forward_pass
  1.14      0.88     0.01                            task_manager_traverse_cb

Would it be possible to have a kind of cache mechanism to speed up
things? Maybe making functions like mrp_calendar_get_type #define's
and creating a __mrp_calendar_get_type which is the real stuff to use
is cache is empty or outdated?

To total time to load the project is about 5s. which is a lot for a
CGI script, even if it's no trouble for MrProject...

Regards,

	Benjamin.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.