From: Arkadiy Vertleyb (vertleyb_at_[hidden])
Date: 2005-10-18 15:42:54
"Calum Grant" <calum_at_[hidden]> wrote
> > This sounds like a correct result -- can I see the first 50 items?
> The output is at the bottom.
This result is not sorted by (counter, city) as requested, which makes it
impossible to compare it with mine.
> I've managed to get my times down a bit by reimplementing the solution
> in a much more straightforward way. I can insert all 21421 items,
> calculate the number of neighbours, and display the top 500 in 235ms.
> Then I can remove 1982 items,
> and redisplay the results, in 47
> milliseconds. This of course makes me suspicious that I'm doing
> something wrong.........
This numbers are very impressive, but they don't tell much unless Jose runs
it on his setup (after the result is properly sorted).
> The solution I have is not terribly elegant from RML's point of view,
> since as I said before RML is designed for logical queries rather than
> numerical computation. It was not a terribly interesting problem
> because it needed just a single table with two indexes.
Hmm, I managed to program it in RTL as a single relational view on the
original table, without doing _anything_ by hand. The correctness of this
view is preseved by the library when the data is changed. In your case
_you_ remove 1982 items. In my case _the library_ removes 1982 items. I
think your solution is rather by-hand than RML-based.
Can you create a single RML query on the original table that solves the
problem? Can you claim that using RML added a lot to your solution? Is it
faster/more elegant/readable/etc. than just using STL directly?
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk