Git Product home page Git Product logo

filesystem-snapshot-creator's Introduction

Snapshot Program will be designed to allow the user to take a snapshot of their filesystem and keep records of the changes that were made.

Made to use with:

Netbeans (optional)

Compiled with MinGW and the Boost Library.


Also, I realize that the time class is really cruddy and I plan to re-write it in the future, but I really need this program up and running for personal reasons.

I do write classes to re-use in multiple projects (like the boost_iter class, and the time class), so if you find somthing wrong, please let me know! :)


NOTICE: This project is being scrapped for a more updated re-write for Linux that will take advantage of multi-threading and be much more efficient.

filesystem-snapshot-creator's People

Contributors

beenencoded avatar

Watchers

James Cloos avatar  avatar

filesystem-snapshot-creator's Issues

Snapshot Loading: Memory efficiency and Speed

As of right now, the program has to scan through the list of paths that represent the heart of a snapshot to get to the next snapshot's information. This is a problem, because a snapshot consists of a list of strings (a list of paths on the filesystem), and to go through them all is inefficient. To give you an idea of why this is so inefficient, I will tell you I have over 291,000 paths on my computer, which translate to a snapshot containing 291,000 strings (million+ characters at least).

I have an Idea: include the file postition on the next snapshot along with the snapshot information that preceds the list of paths. Then, when we load, we can just ifstream().seekg() to the next snapshot.

If anyone else has any other good ideas, I would be willing to hear them.

Also, about memory: Whenever a snapshot is taken, the entire thing is loaded into memory. I know it would be better to just save it to the file, but it also has to be completely loaded for snapshot comparisons, so that a report can be created listing the created and deleted paths. So far, upon the class' destruction there is 2,900 kb of memory still allocated to the program (ascertained through Task Manager... It may or may not be right...), and I want to make it more efficient that that.

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.