Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
fruneau
searching Neon…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
6 ms
·
1.
▲
Modular C
(techtalk.intersec.com)
4 points
by
fruneau
11y ago
|
0 comments
2.
▲
by
fruneau
12y ago
Extensions are how new features come to an established language... C11 standard mostly standardised stuff that was already supported as extension by most compilers. Most of the time, extensions are created because features are missing from
3.
▲
by
fruneau
12y ago
Three main reasons for this. First, we originally chose the C language because it is much much simpler. One can master the language without too much pain, and you end up having much more control on what you are actually doing (there's
4.
▲
by
fruneau
12y ago
Some already tried: http://anzwix.com/a/FreeBSD/GccAddSupportForApplesBlockExten... http://gcc.1065356.n5.nabble.com/RFC-Apple-Blocks-extension-... I'm not aware of any attempt that successf
5.
▲
by
fruneau
12y ago
Thanks. That said, I'm not sure the amount of effort is that huge: having a working rewriter was a matter of days, which makes it far less expensive than rewriting a codebase of several hundreds of thousands of C to a new language.
6.
▲
by
fruneau
12y ago
Languages such as Go, Rust or Swift aim to fill that gap, but in 2010 they were either nascent or simply inexistent.
7.
▲
Block rewriting with Clang
(techtalk.intersec.com)
62 points
by
fruneau
12y ago
|
22 comments
8.
▲
by
fruneau
12y ago
There's a moment when you realise you should avoid allocations because you discover that allocations are expensive. Then you also realise at some point that you cannot avoid some allocations (e.g. you need to perform some non-blocking
9.
▲
Memory – Part 6: Optimizing the FIFO and Stack allocators
(techtalk.intersec.com)
40 points
by
fruneau
12y ago
|
7 comments
10.
▲
What Are Your GCC Flags?
(blog.httrack.com)
174 points
by
fruneau
13y ago
|
114 comments
11.
▲
Memory locality
(techtalk.intersec.com)
4 points
by
fruneau
13y ago
|
1 comments
12.
▲
Mosh: remote shell that allows roaming
(mosh.mit.edu)
1 points
by
fruneau
13y ago
|
0 comments
13.
▲
by
fruneau
13y ago
Moreover, I think that some answers are not doing what we should expect from the subject. For example the "Detect Multiple Of Two" detects powers of two, not multiples.
14.
▲
by
fruneau
13y ago
I do agree. That ASan part of the article starts with the following sentence: "The tradeoff however is that ASan won’t detect errors such as uses of uninitialized variables or leaks that memcheck can detect, but on the other hand it ca
15.
▲
Debugging Memory on Linux
(techtalk.intersec.com)
57 points
by
fruneau
13y ago
|
3 comments
16.
▲
by
fruneau
13y ago
Clearly, we go back to the initial statement: for specific use cases, we need specific allocators.
17.
▲
by
fruneau
13y ago
There are two main issues with alloca: first you cannot deallocate or reallocate the memory, you just append more data to your frame. As a consequence, it is not suitable for dynamic allocations while the t_stack is. The second drawback is
18.
▲
by
fruneau
13y ago
alloca has its drawbacks. See the previous article in the series: https://techtalk.intersec.com/2013/08/memory-part-3-managing...
19.
▲
by
fruneau
13y ago
I admit that test stress some corner cases (at least some cases that the allocator designer consider as corner cases). That said, malloc has no choice but supporting that use case. A use case for such pattern is a message-posting with worke
20.
▲
by
fruneau
13y ago
The diff is a truncation. The actual error rate is 0.5ms on average. By using a round instead of truncation, we can reduce the error to 0.25ms on average.
21.
▲
by
fruneau
13y ago
jemalloc 3.4.0 (current package in debian sid)
22.
▲
by
fruneau
13y ago
PHP is used as a small layer that enables talking to our C code from javascript. We have a custom (Protocol Buffer-like) protocol to manage our RPC, the PHP embeds a native module that implements that protocol and exposes a webservice to wh
23.
▲
by
fruneau
13y ago
These allocators are based on mmap to build the arenas.
24.
▲
by
fruneau
13y ago
I'll consider writing a more detailed article on the subject. Open-sourcing the code will not be possible in the short-term.
25.
▲
by
fruneau
13y ago
The objective of the article wasn't to stress the specific case of the 8-bytes allocation pattern, it was about showing that malloc behavior depends on the context. The size of 8 bytes had been chosen because it was small enough to all
26.
▲
by
fruneau
13y ago
Unfortunately, not for the moment.
27.
▲
by
fruneau
13y ago
I ran the test with a payload of 32 bytes. Here are the results: Non-Contented test: * ptmalloc: alloc 39M/s, free 49M/s * tcmalloc: alloc 42M/s, free 40M/s * jemalloc: alloc 21M/s, free 21M/s * t_stack: alloc
28.
▲
by
fruneau
13y ago
Wording issue fixed.
29.
▲
Memory – Part 4: Intersec’s custom allocators
(techtalk.intersec.com)
126 points
by
fruneau
13y ago
|
61 comments
30.
▲
Managing memory on Linux
(techtalk.intersec.com)
4 points
by
fruneau
13y ago
|
0 comments
More ›