• ylavic's avatar
    Optimize FileReadStream and BasicIStreamWrapper. · 2498c577
    ylavic authored
    On (my) linux, perftest reports:
    - ~40% gain for FileReadStream (Take() loop),
    - ~10% gain for ReaderParse_DummyHandler_FileReadStream.
    
    With the same logic applied to BasicIStreamWrapper, which thus can now
    also be created with a user buffer, performances align with those of
    FileReadStream (same buffer size).
    
    The "unbuffered" versions (added for FileReadStream) work solely with
    the internal peekBuffer (Ch[4]) and are measured in perftest.  When
    performances don't matter much, they can avoid the use of large
    stack/heap buffers.
    2498c577
Name
Last commit
Last update
CMakeModules Loading commit data...
bin Loading commit data...
contrib/natvis Loading commit data...
doc Loading commit data...
docker/debian Loading commit data...
example Loading commit data...
include/rapidjson Loading commit data...
test Loading commit data...
thirdparty Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
.gitmodules Loading commit data...
.travis.yml Loading commit data...
CHANGELOG.md Loading commit data...
CMakeLists.txt Loading commit data...
RapidJSON.pc.in Loading commit data...
RapidJSONConfig.cmake.in Loading commit data...
RapidJSONConfigVersion.cmake.in Loading commit data...
appveyor.yml Loading commit data...
include_dirs.js Loading commit data...
library.json Loading commit data...
license.txt Loading commit data...
package.json Loading commit data...
rapidjson.autopkg Loading commit data...
readme.md Loading commit data...
readme.zh-cn.md Loading commit data...
travis-doxygen.sh Loading commit data...