New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix for issue 382 #383
Fix for issue 382 #383
Conversation
It is pathetic that it still takes seconds to run a single test. |
I don’t know what the issue is, but will look at the issue tomorrow morning. The fact that the “slow” tests run in milliseconds or minutes depending on the runner points to the runner, in my opinion. It’s likely a build configuration causing what you’re seeing. Please note in the meantime that if you want to do comparisons, you need to kill the gradle daemon between runs to do a fair test. |
It is the difference between seconds and... well, mining bitcoins. |
Yes, but I am sure you are measuring the time it takes to start up a gradle daemon. As I said, with a different runner, the part of the whole you are fixing takes milliseconds. So what’s different? |
I am going to close and reopen because travis is busted. |
And travis wakes up... |
Looks like it's related to this. |
I can see the behaviour you're reporting, it took 7 minutes before I killed the build, but compared to the milliseconds or 15 seconds it takes in the IDE, it's obviously a gradle issue... I will investigate. |
This refers to an issue fixed in gradle 4. I am running gradle 5. It might very well be the same issue, but if it is, they closed it too soon. |
Yes, I think we've established that command is slow. I am trying to upgrade gradle, but it requires irritating checkstyle changes. Could you try |
It has been removed. |
@richardstartin If there was an easy workaround, I would have simply complained about gradle and moved on, but to my knowledge, there is just one way, using gradle, to run specific tests, and that's the way I am describing. |
@lemire If you anchor the prefix of the test e.g.
or
The tests execute in under 5 seconds. I think you have found an inefficiency in the way the unanchored prefix scan works. This is a bug, and paramterised tests are very useful, and efficient, except for when you encounter a performance bug in the interaction between two libraries. In any case, I have upgraded to gradle 6.3, along with the mandatory checkstyle changes. |
Great work. |
Closing without merging. |
Someone (not me) should report this to gradle because it is a pretty terrible bug. |
With this patch, running a single short test with gradle takes 21 second on a powerful iMac. That's still an order of magnitude longer than it should take, but a hell of a lot better than what we currently have in master... where it can take minutes...
If you think that this is not necessary, please tell me how long
./gradlew :roaringbitmap:test --tests *testIndexIterator4
takes to run for you. Please don't tell me that it is fine in some IDE that is configured in a certain way... this should work right out of the box in gradle.Fixes #382