HomeWildfire Games

major refactor of file/io and alignment code. requires update-workspaces

Description

major refactor of file/io and alignment code. requires update-workspaces

. completely rewrite waio - use IOCP, add several hardcore optimizations. now outperforms the

AS SSD and ATTO benchmarks when writing

. refactor file interface - use LIO_READ instead of 'r', allow access to file descriptor.
. completely rewrite the IO wrapper. now much more simple, less CPU overhead, adds

support for pre-issue/post-completion hooks and preallocation.
io::Run defaults to simple synchronous IO; use io::Parameters to get asynchronous.

. add alignment.h with constants and Align() function template (more efficient than

round_up for compile-time constants)

. add UniqueRange - similar to C++0x unique_ptr (emulated for C++03), plus a

built-in size. avoids expensive thread-safe reference counting in shared_ptr.

cleanup:

  • move fat_time functions into archive_zip
  • remove no longer needed io_align and block_cache
  • reduce dependencies in sysdep/compiler (move parts to code_annotation.h)
  • move IOCP into separate file (reused by waio)

Details

Committed
janApr 29 2011, 9:10 PM
Parents
rP9349: Idle worker button now cycles through Worker, Trade, and CitizenSoldier classes…
Branches
Unknown
Tags
Unknown