Open Bug 1061233 Opened 10 years ago Updated 8 years ago

rewrite object serialisation within the webservice layer

Categories

(Bugzilla :: WebService, defect)

defect
Not set
major

Tracking

()

People

(Reporter: glob, Unassigned)

References

Details

(Keywords: perf)

Attachments

(1 file)

+++ This bug was initially created as a clone of Bug #1039940 +++

serialisation of objects for webservice responses is extremely slow, due to many reasons:
- data is often serialised then thrown away
- calling filter_wants is slow, even with its results cached
- calling type is slow

i'm also working on a complete rewrite of the serialisation process which addresses a number of issues, such as:
- only serialise fields which are requested
- change $self->type calls to as_string, as_int, etc (method calls are slow, and there's no need to perform extra string comparisons to determine the type)
- even with caching, calling filter_wants for each field is slow; we can calculate the list of fields to return once
Blocks: 1035804
work in progress patch.

there's no performance difference when requesting the default set of fields (ie. all fields), however once inclusions are used this wip can be twice as fast.
Assignee: webservice → glob
Status: NEW → ASSIGNED
Hi glob,

dkl says that your work here will lead to a rewriting of the how the include_fields mechanism is implemented. So I want to draw your attention to the spec for it, which we worked out and which is documented in bug 618079. :-)

Gerv
Assignee: glob → webservice
Status: ASSIGNED → NEW
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: