Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
gergo_barany
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
10 ms
·
61.
▲
by
gergo_barany
6y ago
> Have decent speedups been gotten by previous CPUs by the addition of conditional moves? This is not a direct answer to your question, but: I recently had to tune the conditional move generation heuristics in the GraalVM Enterprise Ed
62.
▲
by
gergo_barany
6y ago
> ideas on how to improve its performance further without making a mess are most welcome. One approach would be designing the input language for performance. In particular, having statically typed operations. A specialized iadd instructi
63.
▲
by
gergo_barany
6y ago
> However, the speedup < 2 with C2 is suspicious. Even on an old dual core / 4 thread system (common worker pool should default to 3 workers), I would expect it to be above 2 for this kind of workload. The speedup I found on C2
64.
▲
by
gergo_barany
6y ago
> For example, C2 might behave differently than Graal and who knows what the future brings. Yes, the GraalVM compiler is more aggressive on some optimizations that can be especially helpful with streams. Here are numbers from my machine
65.
▲
by
gergo_barany
8y ago
> Is that because Python already is the way it is? Partly, yes. But also because the optimizations I would have come up with were all tried by Stefan Brunthaler before. See some citations in the paper, in particular to: http:/&#x
66.
▲
by
gergo_barany
8y ago
Thanks for your answers! > This leads me to believe that the computations in Cannoli are faster than CPython. Right, the speed difference due to output buffering seems annoying. I wonder if you can change the stdout buffering mode to b
67.
▲
by
gergo_barany
8y ago
Good point, and shows that I haven't kept up with the latest developments here :-) Though in the context of a one-off research project, I still think picking a concrete Python version and using its byte/wordcode is the better choi
68.
▲
by
gergo_barany
8y ago
Interesting work! I have a bunch of comments and questions. > The goal of the thesis was to evaluate language features of Python that were hypothesized to cause performance issues. In another life I did something similar using a simila
69.
▲
by
gergo_barany
9y ago
> Where are the main blowouts in python performance? I did some research a few years ago that tried to quantify some of this. If you trust my methodology, the biggest problems (depending on application, of course) are: boxing of number
70.
▲
by
gergo_barany
9y ago
Last year I was invited to interview at Google Aarhus for a job on exactly this topic. We discussed fun, very simple ways to avoid including loads unused library code, and I was told that they already had some ridiculously efficient, practi
71.
▲
by
gergo_barany
9y ago
> I'd be more curious what Clang did for values that would result in different behaviors for some ranges of a. I don't think I understand what you mean. Can you give an example? As for "the developer should write what th
72.
▲
by
gergo_barany
9y ago
> A lot of these suboptimal examples come down to the complexity of the optimization problem. That and the rest of what you wrote is true in a general sense, for many examples of suboptimal code generation. I don't think it's
73.
▲
by
gergo_barany
9y ago
Indeed. Anyway, this guarded version shows the same behavior and, if I got everything right, cannot invoke undefined behavior for any values of p2: #include <limits.h> int N; int fn5(int p1, int p2) { int a = p2;
74.
▲
by
gergo_barany
9y ago
Hi everyone. I'm the author of the featured post; thanks for the interest. > If the code never calls the function with bad values, there's no UB Exactly. Even if a function might have undefined behavior for some input value