Skip to content

General improvements

David Vorick requested to merge profile into master

There's still a ways to go as far as performance is concerned. BUT:

  1. file contract maintenance is now O(n) in the number of file contracts expiring, not O(n) in the total number of file contracts. Because of the use of maps, performance has actually decreased right now, because there are only a few thousand file contracts. I'm not sure where the break-even point is, but ideally we'll eventually have somewhere between 100k and 10m file contracts on the blockchain, this change was necessary.
  2. The subscription model no longer saves an entire extra copy of the diff set, instead calculating it on the fly when needed.
  3. Some profiling code got added to the daemon. You can run the profiler with '-p'. It's not very sophisticated at the moment, and I actually think that the memory profiler is broken in some ways. I still don't understand how to use the memory profiler.
  4. We now use travis-CI's new build system. http://docs.travis-ci.com/user/migrating-from-legacy/

This concludes this round of me changing the consensus package. There's still a handful of tests that need to be written, but they are less critical. I plan on getting back to those before we release, probably the week before.

My next focus is going to be the transaction pool.

Merge request reports