On Fri, 27 Apr 2012 20:03:48 -0400, Joseph Rushton Wakeling
<[email protected]> wrote:
On 28/04/12 00:29, Era Scarecrow wrote:
Last try adding ref after const; At the off chance it's shallow
copying, this
should remove that.
Ahhh, that works. Thank you!
Back story: originally the reputation() function just took the array
ratings and made an internal copy, ratings_, which was used by the rest
of the code. I took that out in this commit:
https://github.com/WebDrake/Dregs/commit/4d2a8a055321c2981a453fc4d82fb781da2ea5c7
... because I found I got about a 2s speedup. It's exactly the speedup
which was removed by adding "const" to the function input, so I presume
it's as you say, that this was implicitly creating a local copy.
Try removing the ref and see if it goes back. That usage of ref should
not affect anything (if anything it should be slower, since it's an extra
level of indirection).
There is no implicit local copy for const. I have a suspicion that you
changed two things and forgot about one of them when running your tests.
-Steve