Hacker News new | past | comments | ask | show | jobs | submit | gct's comments login

Impossible, HN has assured me that Microsoft has changed.

A thunk is just a function with no arguments representing a computation. In C++:

  int a=1, b=2; auto thunk = [=]() { return a+b; }


so a deferred evaluation, like (in elixir) wrapping a computation in an fn (lambda of 0 arity)


This isn't really apples-to-apples comparing with FFTW.

  1. It's been my experience that distros don't configure AVX properly for it, and 
  2. PhastFT takes its inputs de-interleaved in separate real/imaginary arrays which is generally not how complex data is provided, so that overhead doesn't appear in PhastFT.


Hi,

One of the authors of PhastFT here. Thank you for your interest.

We went out of our way to configure FFTW for AVX-512. The Rust bindings don't do it, but the FFTW itself in the benchmark does.

It's worth noting that with FFTW you have to choose between building it for your CPU and making it non-portable, or targeting the lowest common denominator of CPU features so that it runs everywhere but much slower. Meanwhile PhastFT detects the available CPU features at runtime, and will utilize the fastest CPU features without sacrificing portability.

Lastly, we are currently working on support for interleaved format [1]. That should ship in the next release.

[1] https://github.com/QuState/PhastFT/pull/27


FFTW will definitely query cpuid at runtime too, since it's piecing together kernels anyways it's not much more work for it to choose to ignore AVX, etc. If you use the [guru interface](https://www.fftw.org/fftw3_doc/Guru-vector-and-transform-siz...) to configure it to work with split arrays (and maybe use FFTW_MEASURE when planning) I think the benchmarks will be a lot more 1:1


Given they're indexing into a tree, animation will be a pain.


This particular implementation yes, but at the same time it's mostly for landscapes (or maybe scenes), but you don't need to use this kind of LOD stuff for the things you want to animate.


EEE


It's not fair to say EEE in response to every apparently good thing Microsoft does.


Ah yes they're going to extinguish Go with a checks notes... open-source fork


What?


From Wikipedia: https://en.wikipedia.org/wiki/Embrace,_extend,_and_extinguis...

"Embrace, extend, and extinguish" (EEE),[1] also known as "embrace, extend, and exterminate",[2] is a phrase that the U.S. Department of Justice found[3] was used internally by Microsoft[4] to describe its strategy for entering product categories involving widely used open standards, extending those standards with proprietary capabilities, and using the differences to strongly disadvantage its competitors.

Please see the Wiki article for the full deal including footnotes.



Fun fact static is very broadband


I recommend blend2d: https://blend2d.com/. Very well done, very fast. No GPU acceleration but it has a JIT and you can probably get further than you think without it.


You're getting downvoted but this gave me a chuckle


oh puh-lease

edit: having read the whole article now it's actually pretty even-handed, I guess mentioning Oppenheimer was just marketing?


Thank you for stating my sentiment, and hopefully the sentiment of any reasonable member of humanity, so succinctly.


you get what you pay for :)


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: