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.