[erlang-questions] Maximising memory compactness

Tuncer Ayaz tuncer.ayaz@REDACTED
Fri Apr 4 20:34:34 CEST 2014


On Fri, Apr 4, 2014 at 8:09 PM, Tuncer Ayaz <tuncer.ayaz@REDACTED> wrote:
> On Fri, Apr 4, 2014 at 5:26 PM, Andreas Schumacher wrote:
>> Honestly, we did not measure the number of users, but we made a
>> rough guess based on the questions, comments, and/or bug reports we
>> got for the half-word emulator.
>
> I'm not arguing for or against halfword-emu, as I'm not the designated
> maintainer, but it just works and most likely does for everyone else
> who has it enabled. I never had a bug caused by it, and on some
> machines it's the reason I can use Dialyzer with an amd64 beam.smp.
>
> If my professional experience with users of code I was responsible for
> is any indication, then it's very safe to assume that users only
> report bugs. I've learned that users won't even report back if a

Sorry, forgot a word: s/that users/that some users/

> hotfix works. Hence, you can't use non-existence of bug reports or
> comments as an indication of how widely/successfully something is used.
> Some code has vocal users (gamers), most doesn't.
>
>
> As you didn't answer the x32 ABI question, I take that to mean there's
> no plan for that. Correct?
>
>> -----Original Message-----
>> From: Tuncer Ayaz [mailto:tuncer.ayaz@REDACTED]
>> Sent: den 4 april 2014 14:25
>> To: Andreas Schumacher
>> Cc: erlang-questions@REDACTED; Olivier BOUDEVILLE
>> Subject: Re: [erlang-questions] Fwd: FW: Maximising memory compactness
>>
>> On Fri, Apr 4, 2014 at 1:33 PM, Andreas Schumacher wrote:
>>> As a matter of fact, the half-word emulator will be deprecated in
>>> OTP 17.0, which will be released next week. The reason for that is
>>> that there have been very few (if any) users; and thus, the
>>> maintenance costs outweigh its value.
>>
>> FWIW, I use it. But more importantly, how did you measure the number
>> of users? For comparison, JVM's compressed oops has been default
>> enabled for a long time, but to be precise it's not _exactly_ the
>> same thing.
>>
>> http://docs.oracle.com/javase/7/docs/technotes/guides/vm/performance-enhancements-7.html
>> "Compressed oops is supported and enabled by default in Java SE 6u23
>> and later. In Java SE 7, use of compressed oops is the default for
>> 64-bit JVM processes when -Xmx isn't specified and for values of
>> -Xmx less than 32 gigabytes."
>>
>> https://wikis.oracle.com/display/HotSpotInternals/CompressedOops
>>
>> That said, what about implementing x32 ABI support as an
>> alternative? As far as I can tell this would have to be explicitly
>> implemented in HiPE too.
>>
>>> -----Original Message-----
>>> From: erlang-questions-bounces@REDACTED
>>> [mailto:erlang-questions-bounces@REDACTED] On Behalf Of Kostis
>>> Sagonas
>>> Sent: den 4 april 2014 11:39
>>> To: Erlang
>>> Subject: Re: [erlang-questions] Maximising memory compactness
>>>
>>> On 04/04/2014 10:33 AM, Olivier BOUDEVILLE wrote:
>>>> Let's suppose one would like to run a large, distributed (Erlang)
>>>> application, with many processes, and that ends up, in some cases,
>>>> being RAM-bound.
>>>  > ...
>>>> The half-word emulator would seem the simplest/most elegant solution
>>>> to do so ....
>>>  >
>>>> So, my question: would relying on a set of 32-bit VMs per host,
>>>> instead of a single 64-bit VM, look like the best option here?
>>>
>>> My opinion is (and has always been) that the half-word emulator
>>> seems cute on the surface but deep down is a bad idea (esp. for a
>>> language with automatic memory management like Erlang, or if your
>>> application has any plans of growing someday).
>>>
>>> So I would really advice against it. In fact, IMO it's better to
>>> try to forget about its existence for anything other than for small
>>> embedded devices or in machines that do not have more than 3GB of
>>> memory.
>>>
>>> Unfortunately, I am very busy to elaborate more on this right now.
>>> But even if I had more time, I would probably try to find better
>>> things to do than think/talk about the half-word emulator. Leaning
>>> back and relax until you forget about it (or simply waiting for the
>>> day that it is taken out of the distribution) is preferable IMO.



More information about the erlang-questions mailing list