-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
alioth.debian.org #660
Comments
It would be great to have these, but there are a lot of benchmarks there and we're probably not going to budget time to go through and implement all of them. It will probably take a group of people over a period of time to get this done. |
@mictadlo: if you're interested in getting more familiar with Julia, implementing some of these benchmarks would be an excellent way to start. Another issue is that it may be fairly difficult to convince the shootout to include Julia. |
This is good idea, but clearly needs to be a community effort as is pointed out. @mictadlo would you like to anchor this - post to the mailing list, and maybe start on a couple? These can live in our performance tests repository, and once complete, we can see if the guys at alioth add them. I think they will if we can have a debian package by then. All in all, will take a while, but let's get started. |
To get you started, here's the "fasta" benchmark, which I had implemented to get to know Julia: https://gist.github.com/2288846 This one is informative because the performance is a bit lagging. (It's slower than the python program, for example.) There are a lot of operations on strings, which makes me thing it's related to #661. |
Excellent! Can you create a pull request and add it to examples? -viral On 03-Apr-2012, at 7:58 AM, Daniel Jones wrote:
|
Also, I think we should have a new issue open to track this specific performance issue. -viral On 03-Apr-2012, at 7:58 AM, Daniel Jones wrote:
|
dcjones code looks nicer than Rust code https://github.com/mozilla/rust/blob/master/src/test/bench/shootout-fasta.rs |
|
The global rng_state will be a problem. Are we not allowed to use the usual rand() for this? If not, putting a declaration on uses of that global might fix it completely. |
rand() - no |
The chameneous-redux and thread-ring benchmarks both require using pre-emptive threads, but I do not see any documentation about using pre-emptive threads in Julia. How should I do these? Use C calls to pthreads? I could also implement versions using tasks that may be considered "interesting alternatives" and might help serve to tell us how well tasks are working. Let me know, thanks. |
So I took a stab at improving the spectral-norm implementation and I think it's significant improvement (293s -> 10-12s). |
@karbarcca Please do go ahead and make it a pull request; that makes it easiest to review. Use "RFC:" at the beginning of the pull request title if you are looking for feedback. |
That's a nice improvement! |
The last two benchmarks require use of pre-emptive threads ( chameneos: http://benchmarksgame.alioth.debian.org/u32/performance.php?test=chameneosredux#about |
Should we continue having these in base, and integrate them in our rudimentary perf framework, or move them into a separate package - as a first step towards encouraging more benchmarks to be written in julia? |
There seems to be quite a few "code example" repos of various kinds; I wonder if it would make sense to consolidate into a single "Code-Examples" package. A few candidates:
This is quite a lot when listing it all out. We should probably do some organizing/trimming. Maybe have a few categories like |
They all serve different purposes. Package tags would help address this considerably. |
Run perf tests by running make in test/perf Factor out timing code into test/perf/perfutil.jl Micro benchmarks are now in test/perf/micro/ perf2 benchmarks are now in test/perf/kernel shootout benchmarks now run (not all yet) as part of the perf tests (#660) cat benchmarks now run as part of the perf tests
Hello,
Could you write code for http://alioth.debian.org/scm/viewvc.php/shootout/bench/?root=shootout examples. This will show where are problems and also for newbies to understand the language better.
The text was updated successfully, but these errors were encountered: