Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8659047
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 12, 20262026-06-12T15:54:37+00:00 2026-06-12T15:54:37+00:00

I’m trying to refactor some C++ code due to performance problems, and I’m wondering

  • 0

I’m trying to refactor some C++ code due to performance problems, and I’m wondering the best way to solve this. I have a class say DataGatherer, which a core component of a large system. This class is serialized and sent over data streams, copied and stored into tables, copied for the sake of concurrency (checking out a copy rather than having access to the original DataGatherer object). I list examples just to let you know it has copy and assignment operators that are both used.

The problem is that the DataGatherer objects can become extremely large because they contain essentially a large collection of gathered data as well as statistics and metadata about the data. In many cases, it’s only the statistics and metadata that are required, and not the backend data collection.

Are there any design patterns that might be helpful here? Maybe the more general question is, what do you do when in most cases you only need part of an object, but the object is so tightly coupled internally that splitting it up is next to impossible?

Ideas I’ve had,

  • Split the class into a DataGatherer class and a pointer to a DataGathererBackend object. Return shallow copies in most cases to avoid all the overhead of copying DataGathererBackend around when it isn’t used. I hate to do this because of all the hassle of dealing with when you want a shallow copy vs when you want a deep copy, and just general messyness form having to resort to DataGatherer objects that have NULL pointers for backend objects because it wasn’t needed in those cases.

  • Split the class into DataStatistics and Data, and make a 3rd class that wraps and contains both.

  • Other ideas?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-12T15:54:38+00:00Added an answer on June 12, 2026 at 3:54 pm

    If just statistics are wanted, how about a struct of statistics you can return by value or const reference and change the retrieval from copy operators to calling a statistics getter function.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have a string like this: La Torre Eiffel paragonata all’Everest What PHP function
I have this code to decode numeric html entities to the UTF8 equivalent character.
I have this code: - (void)parser:(NSXMLParser *)parser foundCDATA:(NSData *)CDATABlock { NSString *someString = [[NSString
I have just tried to save a simple *.rtf file with some websites and
For some reason, after submitting a string like this Jack’s Spindle from a text
this is what i have right now Drawing an RSS feed into the php,
I'm parsing an RSS feed that has an ’ in it. SimpleXML turns this
This could be a duplicate question, but I have no idea what search terms
I am trying to loop through a bunch of documents I have to put
I have a .ini file as follows: [playlist] numberofentries=2 File1=http://87.230.82.17:80 Title1=(#1 - 365/1400) Example

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.