Bug #464

Performance Bottleneck: expensive construction of Scope objects

Added by M. Rolf over 12 years ago. Updated over 12 years ago.

Status:ResolvedStart date:08/01/2011
Priority:NormalDue date:
Assignee:J. Moringen% Done:

100%

Category:C++
Target version:0.4

Description

Scope construction consumes more than 60% time within spread::ReceiverTask::notifyHandler

(much more than actual deserialization of Protocolbuffer-content)

see attached profiler output

callgrind.out.protobuf200hz - Profiler output: open with kcachegrind <callgrind.out.protobuf200hz> (2.72 MB) M. Rolf, 08/01/2011 05:35 PM

event_creation.cc Magnifier - test program (254 Bytes) J. Moringen, 08/01/2011 09:21 PM

Makefile - for building test program (211 Bytes) J. Moringen, 08/01/2011 09:21 PM


Related issues

Related to Robotics Service Bus - Enhancement #429: Reduce event creation cost Resolved 07/20/2011

Associated revisions

Revision 074ab137
Added by J. Moringen over 12 years ago

Use ad-hoc parser in Scope constructor in src/rsb/Scope.{h,cpp}
fixes #464
  • src/rsb/Scope.{h,cpp}: removed regex-based validation and
    Boost.Algorithm-based splitting; replaced with ad-hoc one-pass
    iteration + validation + component extraction

Revision 4f178252
Added by J. Wienke over 12 years ago

a bit more optimization for parsing scopes

refs #464

History

#1 Updated by J. Moringen over 12 years ago

  • Status changed from New to In Progress
  • Assignee set to J. Moringen
  • Target version set to 0.4

#2 Updated by J. Moringen over 12 years ago

  • Status changed from In Progress to Resolved
  • % Done changed from 0 to 100

Applied in changeset r2199.

#3 Updated by J. Moringen over 12 years ago

The attached test program gives the following results:

before r2199:

/tmp $ time ./event_creation # old
3.211 secs

after r2199:

/tmp $ time ./event_creation 
0.502 secs

#4 Updated by M. Rolf over 12 years ago

works fine.

#5 Updated by J. Moringen over 12 years ago

  • Status changed from Feedback to Resolved

Also available in: Atom PDF