-
Notifications
You must be signed in to change notification settings - Fork 72
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
Resolve deprecation warnings for v0.7 #86
Conversation
Tests fail due to the issues with WinRPM and Homebrew.. |
What is the state on this? |
My understanding is that the PR is ready to be merged, depending on how important passing CI is for whoever has merge permissions. Tests pass locally on my machine (Linux x64), but the last run of Travis failed on 1.0 (bad travis config for 1.0, no Obviously, once this gets merged, any issues with 1.0 can be fixed. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for doing this.
REQUIRE
Outdated
@@ -1,4 +1,4 @@ | |||
julia 0.5 | |||
julia 0.7-beta2 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
just julia 0.7
The single OSX failure on Travis is due to the gcc link failing in homebrew. Not sure what caused the Linux failure. |
All green! @simonster or @yuyichao could we get this merged now? |
+1 |
Most of those looks wrong. You should now allocate the array you want to return and fill the reinterpreted/reshaped version. |
Ok. I will see about changing that. |
I believe the copying issue is only needed to maintain the output type which shouldn't break most of the use so merging PRs that doesn't include that part is certainly fine and I've done that already. |
Just to be clear master is still broken in 1.0 And master is also broken on 0.7 is also broken because of the reinterpretted output types thing. |
I noticed the same thing about the updates to master; it was unusable for
me (as of a week ago).
I haven't had the time recently to take a look at this again, but the brief
look I took at the PR to HDF5 linked earlier in this thread looked to be on
the right track. I may have some time in the next week or two to take
another stab at this.
On Fri, Nov 16, 2018, 10:30 AM Lyndon White ***@***.***> wrote:
Just to be clear *master* is still broken in 1.0
because a ton of the basic deprecatation removing stuff has not been done
(because it is done in this PR).
And *master* is also broken on 0.7 is also broken because of the
reinterpretted output types thing.
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
<#86 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AHA_LfV4pYyWJaf6515Cq70slOMckWqVks5uvtoygaJpZM4VnKUN>
.
--
-AH
|
The HDF5 changes needed to fix the extra copies here haven't been tagged yet: |
Here is the METADATA PR. |
The HDF5 changes are merged and tagged. Thanks @musm |
I think that should fix all the extra copies. If somebody (@yuyichao perhaps) can review to double-check, then this will be good to go once JuliaIO/HDF5.jl#538 is merged and tagged. |
Can we get this merged? Do you know what is worse than a performance penalty? A broken master. That's infinitely bad performance. |
Not yet (see comment) and no. Old julia version aren't gone yet. Also note that master isn't completely broken (some cases works) and I've said many times that whoever want to split out part of this to another PR are welcome to do so. I've merged such PR and I've even done the work of fixing that PR and rebas this on the new master. Also note that this version is also "broken" awaiting the HDF5 PR linked above. |
Well it is broken for me, and I created a PR a long time ago that made it work for me, but it was rejected for the reason that it was incomplete, even though it fixed some things. Don't let perfect be the enemy of the good. |
Also I want to directly disagree with this. Many packages depend on this as part of their backend. The performance of reading and writing MAT files is not as important as allowing all of those packages to upgrade to 1.0+, where they may enjoy speed improvements in execution and better likelihood of adoption. As it is now, anyone who hears about Julia, goes to download 1.0, and tries to install MAT or some package depending on MAT, will get errors. That's not the way to win hearts and minds. |
You are just giving very good reason for why the release 1.0 shouldn't have been made so quickly. 0.6 is still a perfectly good release to use and start with. I know this is directly conflicting with the super loose release policy and I don't want to argue with either. Also, I'm not looking for perfect either. It's just about not introducing regression. And if you want to know what is the right way to do this on a very much related change? JuliaLang/julia#21831 (comment) Noticed that the PRs are submitted to the packages to make sure there's no regression before the base PR is merged. |
I must be missing something. If you are saying that you don't want to lose the ability to make improvements to 0.6, |
Please read and quote the context.
It's specifically referring to PRs that are "not complete" and "like #100". |
is this branch dead or not, I think it's better get merged and make it work first, and then make another PR to fix performance regression. v1.0 is relatively big change to v0.6 that's why it's better to move to v1.0 early than doing more work in v0.6. please make this work early, cause a lot of data is in MAT format. |
FWIW, this branch works for me, but the merged one errors. |
Looks like Travis CI was run two months ago. For me this PR passes tests using HDF5 v0.10.4. One line fix is needed for HDF5 v0.11.0. Who is able to trigger Travis? Looks like closing and reopening 18 days ago did not do it. |
According to the testsuite, this fixes all the deprecations.
The only things I'm unsure of is the change in v0.7 for reinterpret/reshape to return
reinterpret
/reshape
types. Since the tests check type equality (and error if mismatched type) before checking for equality in the contents, this required me to add acollect
(for most of the cases) around the reinterpret or reshape. This will now allocate when it did not before, and may affect the read/write performance, however I don't see a way around this (other than changing the types of the test data to make the tests pass with reinterpret/reshape types).