Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
sunfish
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
13 ms
·
91.
▲
by
sunfish
11y ago
In part because if <bunch of instructions> is arbitrary JS, it may or may not be able to run in SIMD mode, so then you get surprising performance cliffs because your code runs in scalar sometimes. And in part because there's more
92.
▲
by
sunfish
12y ago
And as a bonus, this would make sin and cos library functions easier to implement on computers. Typically, to compute sin or cos, one has approximation functions like Taylor series which work for small values, and then one reduces the input
93.
▲
by
sunfish
12y ago
It's bugged me as well. It feels like whenever you have a unit where all your measurements contain a multiplication by a constant factor, you should just pick a more convenient unit. This applies to radian measure regardless of whether
94.
▲
by
sunfish
12y ago
I distinctly remember when I was learning geometry that there were some things that never really made sense. Why was pi defined in terms of the diameter when literally everything else we learned about circles used the radius? Why did radi
95.
▲
by
sunfish
12y ago
With Unity 5 [0] and Unreal Engine 4 [1], it's no longer necessary to use browser plugins. [0] http://blog.mozilla.org/press/2015/03/unity-5-ships-and-brin... [1] https://blog.mozilla.org/
96.
▲
by
sunfish
12y ago
It is surprising how much semantic significance is placed on whether a language is encoded in text or binary format. SPIR-V looks to be a completely new format, not evolved from previous versions of SPIR. This new version is being described
97.
▲
by
sunfish
12y ago
The shared ArrayBuffer interface being described here is following the philosophy of the Extensible Web Manifesto [0]. The idea is that libraries providing higher-level APIs and programming models, such as message passing, can be built on t
98.
▲
by
sunfish
12y ago
User behavior when interacting with a program that responds in 0.1 seconds is drastically different than with a program that responds in 1.9 seconds; see [0] [1] etc. I agree it's not very meaningful to just compute the total number of
99.
▲
by
sunfish
12y ago
It sounds like there is confusion between "trapping" and "wrapping" here. "Introducing 4 billion [...]" sounds like a description of the failure modes of wrapping. In contrast, trapping interrupts the flow of
100.
▲
by
sunfish
12y ago
One thing I want to comment on here is a mistake I often make myself, which is to focus on the language/compiler/interpreter/jit/translators/etc. and to loose sight of the platform APIs -- user interfaces, input dev
101.
▲
by
sunfish
12y ago
I meant that IEEE-754 got a lot of stuff right, from our current perspective.
102.
▲
by
sunfish
12y ago
fenv.h appears to be implemented as a simple library, but it actually requires major compiler support. In order to make it work, the C standard added #pragma STDC FENV_ACCESS to the language itself, which is described in the link you posted
103.
▲
by
sunfish
12y ago
The mutable global state problem is hard. And, its implications are woven throughout the spec. For example, pow(0, nan) is 0, not nan, because that's slightly more convenient in some cases, and it's assumed that you can always che
104.
▲
by
sunfish
12y ago
It's still being designed, but we're unlikely to do anything that would require a double dereference or synchronization on each access -- that would be a lot og overhead. We'll likely seek a way to keep accesses fast by doing
105.
▲
by
sunfish
12y ago
asm.js is indeed growing the ability to resize its heap [0]. It's already implemented in Firefox Nightly [1]. [0] http://discourse.specifiction.org/t/request-for-comments-swi... [1] https://bugzilla.moz
106.
▲
by
sunfish
12y ago
Yes, we don't expect everyone will want to program to the bare SIMD.js API directly for everything; it's also intended to provide basic functionality that higher-level libraries and even specialized languages, like Halide, can be
107.
▲
by
sunfish
12y ago
For historical reasons, every language that wanted one built their own SIMD API instead of building a language-independent API first: C++, C#, Dart, OpenCL, and so on, and it's not easy to go back and change that. However, there is a l
108.
▲
by
sunfish
12y ago
That applycurve function has what appears to be a gather, which is unfortunately outside of where we expect to be with the initial iteration of SIMD.js, as there isn't widespread CPU SIMD hardware support for it yet. However, the brigh
109.
▲
by
sunfish
12y ago
Most C++ compilers perform TCO when convenient, but the C++ language doesn't guarantee that TCO will be done, so it's unwise to write code that depends on it. In practice, every compiler decides when to do TCO in its own way. Also
110.
▲
by
sunfish
12y ago
We're interested in that too; see the "Firefox (no asmjs)" line in those arewefastyet graphs. That shows Firefox with asm.js-specific optimization disabled.
111.
▲
by
sunfish
12y ago
I share your concern about GC pauses. LLVM bitcode provides no security guarantees whatsoever though. It has raw unchecked pointers. You can even cast arbitrary integer values to pointers and dereference them. In PNaCl, security is provided
112.
▲
by
sunfish
12y ago
We will probably do that too at some point, but it won't replace explicit SIMD, just as widely-available auto vectorization support in C++ hasn't eliminated the need for explicit SIMD extensions there either. One thing to keep in
113.
▲
by
sunfish
12y ago
I'm a Mozilla engineer involved in this. NEON support is very important and we're designing the spec to support it well. CPUs that lack SIMD units can support the functionality (though not the performance of course), and there
114.
▲
by
sunfish
12y ago
One of my favorite phrases from the Refactoring world is "speculative generality". Adding customization points in the present can make adapting in the future easier if the future aligns with your expectations, and harder if it doe