There is no bug in the program, it is legal to use non-atomic variables across threads as long as they're correctly sequenced.
18,939 karma · joined September 28, 2010
- Twitter: @ot_y
- LinkedIn: www.linkedin.com/in/giuseppe-ottaviano-497b7b3There is no bug in the program, it is legal to use non-atomic variables across threads as long as they're correctly sequenced.
You can trivially do that in Scuba too using a derived column, which is supported in the UI. If you need more complex stuff you can write your query in SQL and still use all the supported UI visualizations. And for even more complex stuff, for example if you need joins, the data is usually mirrored to Presto, so you can write arbitrarily complex queries and still visualize the results in the Scuba UI.
I'm not sure if your assessment of Scuba is based on full knowledge of what you can do with it.
So if we only consider self-contained transparent displays, this is indeed a first?
2000 kcal * 4184 (J/kcal) / 3600 (seconds) ~= 2324 Wh
which is... a lot of batteries (a large laptop battery is around 100 Wh)
A human at rest uses around 100W, which is easier to remember.
Where this breaks is with FFI: if you cannot intercept blocking calls in foreign functions, you block useful threads or even deadlock. This is what the quote in the article is about:
> The cost for the native compatibility with the C/system runtime is the “function coloring” problem.
https://en.wikipedia.org/wiki/Debt-to-GDP_ratio
> is usually unable take their income streams
It takes a percentage of that, through taxes.
https://en.wikipedia.org/wiki/List_of_sovereign_states_by_ta...
This doesn't mean that you don't investigate, it just means that you have an additional guarantee that the system can automatically eventually recover.
If you set a limit on number or time or restart, what's a reasonable limit? That will be context dependent, and as soon as it's more than a few minutes, it may as well be infinite.
This is correct, but I don't think the article is trying to make any claim about the language being relevant for performance.
What I believe the author is showcasing is two things:
- sched_ext allows to write schedulers that outperform a default general-purpose scheduler on certain workloads (performance)
- Since a sched_ext scheduler is a userland process, it can be implemented in any language. The author likes Rust and they used Rust (ergonomics)
The headline compresses both things in one sentence, and this can create some confusion about what they intend to convey.
What's the significance of adding up together the rows? Time passes simultaneously for all these companies.
Yahoo announced development was stopped in 2014: https://yahooeng.tumblr.com/post/96098168666/important-annou...
Is this still relevant?
(Hi Pádraig!)
Octane was an incremental improvement in performance when compared to SSD, and in cost when compared to RAM. An awkward spot to be in.
That said, it's better to rely on RCU/hazptr to solve ABA issues, but the extra bits are still useful to store state that can be CAS'd together with the pointer.
If the title said "Mac users" instead of "Linux community", would you have expected a different conclusion?
I don't see how that can make the project move faster. I wouldn't be surprised it has the opposite effect actually.
Banks are extremely leveraged by their nature, BA has like $3T in assets and $2.8T in liabilities, so minor swings in assets value move the equity by amounts that are comparable to the market cap.
You can take a vector and shift all its elements to the right by 1 (rotating the last entry to the first position), let's call this operator S. Since the rows of a circulant matrix C are all rotations, if you apply the shift S, then multiply by C, and then shift back, you get the same result as if you just multiplied by C. In equations, S^-1 C S = C.
This is another way of saying that circulant matrices are shift-invariant. If you have a vector of zeros and just a few values in the middle, the matrix doesn't care where those non-zeros are, the result is the same but shifted accordingly; intuitively, the matrix operates in the frequency domain, not in the spatial domain. This is the same idea behind convolutional neural networks: translation-invariance means that we can ignore the position of an object in an image, and thus share the parameters across all positions, reducing the parameter complexity from quadratic to linear.
Now one of the first things you learn in linear algebra is that if two matrixes commute, they share the eigenspaces. We know that SC = CS from the equation above, so if we want to find the eigenvectors of any C, we can just find the eigenvectors of S.
But if we write S in matrix form, it is just ones under the diagonal, and a one on the top right. That's the companion matrix [1] of x^n - 1! So the eigenvalues are the nth roots of unity, and that shows the connection.
These intuitions translate (haha) quite naturally to function spaces, where shift-invariant operators are diagonalized by Fourier series (for periodic functions) and Fourier transform (for non-periodic functions with finite energy).
[1] https://en.wikipedia.org/wiki/Companion_matrix
EDIT: I just remembered we don't even need to inconvenience the companion matrix. If ω is a n-th root of unit, and you have a vector which is [1, ω, ..., ω^{n-1}] and you multiply it by ω, you get [ω, ..., ω^{n-1}, 1] (because ωω^{n-1} = 1), which is exactly the original vector shifted by 1, so it is an eigenvector of S.