Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
psykotic
searching Neon…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
6 ms
·
1.
▲
by
psykotic
3y ago
> Most self taughts lack broader concepts, abstractions and especially algorithms. As a self-taught who later went to university for pure mathematics (which I got interested in through game programming), that was not my experience with t
2.
▲
by
psykotic
3y ago
LTO for LLVM/clang and gcc is implemented by getting the compiler to emit internal compiler IR code rather than machine code to the object files. The linker's job is to call into the compilers at link time with the serialized IR c
3.
▲
by
psykotic
4y ago
Let's go to primary sources: https://developer.arm.com/documentation/ddi0487/latest The author is right. ARMv8 supports relaxed memory ordering but its memory model does not support acquire-release ordering w
4.
▲
by
psykotic
4y ago
> If you want to refactor, it's up to you to delete the types. The fact that f(g(x)) and { let y = g(x); f(y) } are equally robust to changes in g(x)'s type is an advantage of type inference. It doesn't s
5.
▲
by
psykotic
4y ago
> It's possible to build a hash on tolerant doubles by making two hashes per lookup, and even complex numbers with four per lookup, but no one's figured out how to deal with entries that contain multiple numbers yet. I'm c
6.
▲
by
psykotic
4y ago
Their financials are accessible now that they're a publicly traded company. https://investors.unity.com/news/news-details/2022/Unity-Ann...
7.
▲
by
psykotic
5y ago
Not sure what time scale you had in mind with "many many years" but the commercial third-party extension Visual Assist has been the only serious option for robust and scalable C++ code navigation (and related features) in Visual S
8.
▲
by
psykotic
5y ago
I've only profiled fd on Windows but one thing that stood out was that it performed 2 stat syscalls per file via NtQueryInformationFile (that number should be 0 per file on Windows since stat metadata comes for free with NtQueryDirecto
9.
▲
by
psykotic
5y ago
A space-aware syntax can allow optional spacing around operators but make it an error if it does not respect the precedence hierarchy or is deemed inconsistent by other rules.
10.
▲
by
psykotic
5y ago
> Even full-fledged database systems don't typically implement B+ tree indexes with deletion+rebalancing support (the usual technique is marking nodes deleted and cleaning them up when the index is rebuilt). Yes, and it took a surpr
11.
▲
by
psykotic
5y ago
I think you need 2 log2(n) - 1 butterfly stages to realize an arbitrary permutation.
12.
▲
by
psykotic
5y ago
Just wanted to cosign that this is absolutely a real-world concern. For that reason I always try to make huge reservations as early in the process lifecycle as possible [1] and then subdivide them from there. Then you can know ahead of time
13.
▲
by
psykotic
5y ago
A fast binary search intended for B-tree key array searches does not have branches at all [1]. An B-tree interior node's key array is usually sized to fit in one cache line, so there isn't a difference in cache access pattern. Wit
14.
▲
by
psykotic
5y ago
"Invariant RDTSC" has been the norm for a long time now (identifiable by a CPUID feature bit) and it doesn't vary with power states or dynamic frequency. Which means it's just a lightweight, high precision timer at this
15.
▲
by
psykotic
5y ago
In a similar vein, all non-tiled GPUs do some form of lossless framebuffer compression purely as a bandwidth optimization (it doesn't save on DRAM footprint because that would mess too much on the fly with the memory layout and you
16.
▲
by
psykotic
5y ago
As a counterexample to your claim about "every other ISA", ARM64 doesn't have an x86-style popcount instruction. Its CNT instruction operates on vectors, not words, and gives you the popcount within each byte. You need to per
17.
▲
by
psykotic
5y ago
It's not widely known but PCRE (which I assume is still the most widely used regex library) supports partial matching which you can use to interoperate with any piecewise linear string representation (ropes, gap buffers, etc).
18.
▲
by
psykotic
5y ago
I've never seen a laptop with a removable battery where you couldn't remove the battery and power it directly.
19.
▲
by
psykotic
5y ago
> How would this work for a hierarchical structure like a B-tree? For something like B-trees you want to make a distinction between internal and external references. Internal references ("child pointers") can just be 32-bit ind
20.
▲
by
psykotic
6y ago
Since it's too late to edit my post: It's not just the phi nodes that correspond to splitting. A straight-line program can generate a non-chordal interference graphs if variables are assigned multiple times. During SSA conversion,
21.
▲
by
psykotic
6y ago
Just to clarify (and as the abstract says), that paper's result is not restricted to programs in SSA form but to structured programs. The chordal interference graphs that arise from (not necessarily structured) programs in SSA form are
22.
▲
by
psykotic
6y ago
For interval-oriented data that you want to query at different levels of detail with a query window, there's a trick I used in a commercial profiler which you can easily bolt on top of any ordered search tree or database system. You ha
23.
▲
by
psykotic
6y ago
There's a small bug in your code. The loop kernel writes out 16 entries despite only advancing by 15 entries, so your upper bound calculation needs adjustment. I'm also worried the JVM's compiler won't be able to elimina
24.
▲
by
psykotic
6y ago
Any FizzBuzz example almost feels too silly to deserve a serious comment. But here goes. As you noticed, the FizzBuzz pattern has a period of 15. So if you want to go fast, just go directly to a 15x vectorized unroll with unaligned stores.
25.
▲
by
psykotic
6y ago
Thanks, I was confusing the VS 2015 update with VS 2017 as the one that got the big pieces like designated initializers and compound literals. I don't think anyone cares about VLAs, but I look forward to being able to rely on _Generic
26.
▲
by
psykotic
6y ago
Yeah, a mixture of implicit and explicit IDs is fine and what everyone does in one form or another. That's what I had in mind as the 99% solution. You don't want the default implicit ID scheme to be too clever or opaque so the pro
27.
▲
by
psykotic
6y ago
Focusing too much on the call site is probably misleading, which is why most production-quality immediate-mode UI libraries generally don't rely on __FILE__/__LINE or stack walks or anything else like that. The issue isn't ju
28.
▲
by
psykotic
6y ago
A post-release update to VS 2017 was the first version which supported a useful subset of C99. But support isn't a binary thing; I was tangentially involved in diagnosing a critical bug in their implementation of C99 lvalue literals ju
29.
▲
by
psykotic
6y ago
Every immediate-mode UI deals with the id namespace issue. What they usually have in common is a hierarchical id namespace where you have an id stack and a child id is derived from the parent id via hashing, child_id = hash(parent_id, widge
30.
▲
by
psykotic
6y ago
C99 support in MSVC was still spotty until very recently. And for single-header libraries in particular it's helpful to use a style of C that can be #included directly into C++ source files without issue.
More ›