Giter Club home page Giter Club logo

Comments (2)

calccrypto avatar calccrypto commented on August 10, 2024

Writing to OutputBuffers would not keep a stanza together when writing to stdout since lines are written independently of each other and may be flushed before a stanza is completely written into a buffer.

Creating a per-work-item buffer does not work because that would involve predicting how much space any directory might need for storing all of its entries.

Printing the data twice (first time to get the size of each line, second to do the actual print) would still not keep the data together, and prints the data twice. Storing the data into a list and printing after processing all of the d_entries would fix this, but would add many allocations/deallocations and extra code.

Forcing gufi_dir2trace to write to separate files is probably the cleanest solution, since there would be little extra code, and the user would only have to cat the files together.

from gufi.

calccrypto avatar calccrypto commented on August 10, 2024

#55 overallocates the amount of memory needed by assuming every single value in a struct work prints to the maximum string length possible, writes each line into a per-work-item buffer (not OutputBuffers, and write out after the stanza is complete. Locking is done around the write if no output file prefix was specified.

from gufi.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.