walac · GitHub

added 3 commits

August 8, 2016 15:57
This reverts commit  19d8518 .
This caused bustage on file reading. Using ios_base::eof() to mark end
of file is erroneous.
ISO C++11 mandates standard IO streams be thread safe. The side effect
of this is that file IO through shell redirection get lock contention
performance issues. We provide command options for the user to to
specify the input and output files. In this case, we use fstream for
file IO, which doesn't suffer lock contention problems.
Profiling revealed shared_ptr reference count is causing performance
hits caused by atomic reference counting. We actually don't need a
shared_ptr here, unique_ptr + move semantics does the job with better
performance.

@Spagiari

Read the original on github.com ↗