Re:Show HN: ZFS Implementation in Python
by tigershark on Saturday May 04, 2019 @05:41PM
(#19829557)
I know that it’s asking a lot, but any chance that you can post a minimum reproducible sample? From what I know it is quite smelly...
[ Parent
| on HN ]
I don't have access to this codebase now but I'll try to write some benchmark.
Re:Show HN: ZFS Implementation in Python
by tigershark on Saturday May 04, 2019 @05:55PM
(#19829634)
If you manage to do it would be awesome, otherwise thanks a lot anyway for the effort :)
I’m just curious to understand why it happens because it’s exactly the opposite of what I would expect.
The only explanation that comes to my mind is excessive gc as someone else already mentioned, but it would be interesting to see the original code.
I started doing it but yes, it's too much effort to get two full benchmarks, I'm sorry :). But I think it went down to the inefficiency of String.split(): https://stackoverflow.com/questions/37007189/string-split-te... and generally the Java's String built-in methods not being GC-friendly: https://stackoverflow.com/questions/20336459/garbage-friendl.... I'm guessing that when such parts can be coded in a non-VM environment (CPython/PyPy runtime) they can be made much faster, and Java to these days has the standard library coded in pure Java?
Re:Show HN: ZFS Implementation in Python
by tigershark on Sunday May 05, 2019 @03:40AM
(#19831666)
Yes, Java has nothing like C# Span to avoid these kind of problems, but I thought that also python would be affected in a similar way...
Anyway, thanks for sharing.
Re:Show HN: ZFS Implementation in Python
by auscompgeek on Saturday May 04, 2019 @11:39PM
(#19830990)
CPython and PyPy are both VMs, similarly to the JVM.
I meant the inside of a VM (its implementation), which is coded in C/RPython. Java's VM is coded in C++, but I don't think C++ is used for any regular library functions, while C is used heavily for Python's stdlib.