1. 11 11月, 2013 3 次提交
    • A
      Register new snapshots · 7407bcc1
      Alex Crichton 提交于
      7407bcc1
    • B
      auto merge of #10321 : alexcrichton/rust/uv-rewrite, r=brson · b5e602ac
      bors 提交于
      The major impetus for this pull request was to remove all usage of `~fn()` in `librustuv`. This construct is going away as a language feature, and additionally it imposes the requirement that all I/O operations have at least one allocation. This allocation has been seen to have a fairly high performance impact in profiles of I/O benchmarks.
      
      I've migrated `librustuv` away from all usage of `~fn()`, and at the same time it no longer allocates on every I/O operation anywhere. The scheduler is now much more tightly integrated with all of the libuv bindings and most of the uv callbacks are specialized functions for a certain procedure. This is a step backwards in terms of making `librustuv` usable anywhere else, but I think that the performance gains are a big win here.
      
      In just a simple benchmark of reading/writing 4k of 0s at a time between a tcp client/server in separate processes on the same system, I have witnessed the throughput increase from ~750MB/s to ~1200MB/s with this change applied.
      
      I'm still in the process of testing this change, although all the major bugs (to my knowledge) have been fleshed out and removed. There are still a few spurious segfaults, and that's what I'm currently investigating. In the meantime, I wanted to put this up for review to get some eyes on it other than mine. I'll update this once I've got all the tests passing reliably again.
      b5e602ac
    • A
      Fix usage of libuv for windows · e38a89d0
      Alex Crichton 提交于
      e38a89d0
  2. 10 11月, 2013 30 次提交
  3. 09 11月, 2013 7 次提交