Imho, the first point is the most important one. It needs to be done by someone with the necessary machine and Jenkins administration privileges and skills. I can help with setting up/building Avian of course.
The second point is a nice-to-have for now, but it would be good to have the necessary infrastructure set up.
Regarding the third point, I'm currently waiting for the new website and will create PRs as soon as it is public.
Concerning the fourth point: I guess this is more or less a community task/project. I'm currently lacking the necessary SBT plugin skills to contribute.
Thanks and bye,
Simon
Apologies if this question is a duplicate: but what's the performance (runtime) of avian like compared to hotspot? The latter has been under dev. for so long that I'd almost be disappointed to hear that Avian could keep up after a relatively short lifetime.
--
You received this message because you are subscribed to the Google Groups "scala-internals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-interna...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
Apologies if this question is a duplicate: but what's the performance (runtime) of avian like compared to hotspot? The latter has been under dev. for so long that I'd almost be disappointed to hear that Avian could keep up after a relatively short lifetime.
-- Francois ARMAND http://fanf42.blogspot.com http://www.normation.com
What is the boot time of Avian compared to HotSpot? Is it significantly different (better?). If only Scala could have something as quick (or at least, in the same order of time) to boot as Perl/Ruby/Python, it could be such a great tool to build async "sysadmin" service (thinking about cloud, but also more simple file processing, etc...)
--
You received this message because you are subscribed to the Google Groups "scala-internals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-interna...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
--
You received this message because you are subscribed to the Google Groups "scala-internals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-interna...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
--
I'll add the timeout option, if you like.
I'll add the timeout option, if you like.
Yes, that would be great!
--
These are the failures I'm currently seeing:
!! 99 - run/t5375.scala [non-zero exit code]
!! 123 - run/t6488.scala [non-zero exit code]
!! 702 - run/stream_length.scala [non-zero exit code]
!! 897 - run/t4023.scala [output differs]
!! 1033 - run/t5353.scala [output differs]
!! 1277 - run/reflection-magicsymbols-invoke.scala [output differs]
There are probably more, but the timeout is still causing the suite to
exit prematurely, and I haven't bothered to change it yet.
t5375: our friend CompositeThrowable, which fails consistently on both
Avian and HotSpot on my machine
t6488: fails because scala.sys.process.ProcessImpl.SimpleProcess.destroy
uses Thread.stop, which is not implemented in Avian and probably never
will be. Any code that uses Thread.stop is broken and needs to be fixed.
stream_length: fails with an OOME; haven't studied it closely enough yet
to know why
t4023: expected output depends on Class.getDeclaredClasses returning an
array sorted in a certain order. Avian provides the same data as HotSpot
but in a different order, which appears to be valid since the JavaDoc says
nothing about the order. I think the test ought to explicitly sort the
array if it's going to rely on a specific order.
t5353 and reflection-magicsymbols-invoke: expected output depends on
ClassCastExceptions and CloneNotSupportedExceptions having certain message
formats, respectively. Avian uses different formats for the messages than
HotSpot, hence the failures. Again, this seems valid, since the messages
attached to exceptions thrown by the VM are not part of any specification
and may even change from one release to the next.
t6488: fails because scala.sys.process.ProcessImpl.SimpleProcess.destroy
uses Thread.stop, which is not implemented in Avian and probably never
will be. Any code that uses Thread.stop is broken and needs to be fixed.
--Rex
We use "Tread.stop" when grading student assignments for the Coursera course. We use ScalaTest but runevery test in a separate thread that we kill after some timeout - there's a lot of infinite loops being submitted :)I didn't find any other way of doing that.
I fundamentally disagree with "Any code that uses Thread.stop is broken and needs to be fixed." except inasmuch as the Java threading model is broken and needs to be fixed.
Stop is non-cooperative. Sometimes you need to get rid of something that's misbehaving. In uses in the past, I have not noticed that interrupt and stop in fact only work in the same places (and it need not be that way in theory).
I do think it's worth re-examining any code that uses stop, but sometimes (observed) stop functionality is the only way to reasonably achieve something, and the possibility of damaged objects is less bad than e.g. leaving a CPU core running at 100% forever after
Would this make sense?
By the way:
static void sneakyThrow(Throwable t) {
Thread.currentThread().stop(t);
}
Now that's a scary sneakyThrow implementation. :-)
Simon
--