You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by franz1981 <gi...@git.apache.org> on 2018/11/14 16:52:48 UTC

[GitHub] qpid-jms issue #26: QPIDJMS-430 Lock-Free FifoMessageQueue

Github user franz1981 commented on the issue:

    https://github.com/apache/qpid-jms/pull/26
  
    The reason behind the abstract classes for padding between fields to avoid false sharing (that could lead to a 1/10 of performance):
    ```
     OFFSET  SIZE                                               TYPE DESCRIPTION                                      VALUE
          0    12                                                    (object header)                                  N/A
         12     4                                                    (alignment/padding gap)                         
         16     8                                               long FifoMessageQueuePad0.p01                         N/A
         24     8                                               long FifoMessageQueuePad0.p02                         N/A
         32     8                                               long FifoMessageQueuePad0.p03                         N/A
         40     8                                               long FifoMessageQueuePad0.p04                         N/A
         48     8                                               long FifoMessageQueuePad0.p05                         N/A
         56     8                                               long FifoMessageQueuePad0.p06                         N/A
         64     8                                               long FifoMessageQueuePad0.p07                         N/A
         72     8                                               long FifoMessageQueuePad0.p10                         N/A
         80     8                                               long FifoMessageQueuePad0.p11                         N/A
         88     8                                               long FifoMessageQueuePad0.p12                         N/A
         96     8                                               long FifoMessageQueuePad0.p13                         N/A
        104     8                                               long FifoMessageQueuePad0.p14                         N/A
        112     8                                               long FifoMessageQueuePad0.p15                         N/A
        120     8                                               long FifoMessageQueuePad0.p16                         N/A
        128     8                                               long FifoMessageQueuePad0.p17                         N/A
        136     8                                               long FifoMessageQueueProducerFields.tail              N/A
        144     8                                               long FifoMessageQueueProducerFields.producerLimit     N/A
        152     8                                               long FifoMessageQueuePad1.p01                         N/A
        160     8                                               long FifoMessageQueuePad1.p02                         N/A
        168     8                                               long FifoMessageQueuePad1.p03                         N/A
        176     8                                               long FifoMessageQueuePad1.p04                         N/A
        184     8                                               long FifoMessageQueuePad1.p05                         N/A
        192     8                                               long FifoMessageQueuePad1.p06                         N/A
        200     8                                               long FifoMessageQueuePad1.p07                         N/A
        208     8                                               long FifoMessageQueuePad1.p08                         N/A
        216     8                                               long FifoMessageQueuePad1.p10                         N/A
        224     8                                               long FifoMessageQueuePad1.p11                         N/A
        232     8                                               long FifoMessageQueuePad1.p12                         N/A
        240     8                                               long FifoMessageQueuePad1.p13                         N/A
        248     8                                               long FifoMessageQueuePad1.p14                         N/A
        256     8                                               long FifoMessageQueuePad1.p15                         N/A
        264     8                                               long FifoMessageQueuePad1.p16                         N/A
        272     8                                               long FifoMessageQueuePad1.p17                         N/A
        280     8                                               long FifoMessageQueueConsumerFields.head              N/A
        288     8                                               long FifoMessageQueueConsumerFields.headLock          N/A
        296     4                                                int FifoMessageQueueConsumerFields.state             N/A
        300     4                                                    (alignment/padding gap)                         
        304     8                                               long FifoMessageQueuePad2.p01                         N/A
        312     8                                               long FifoMessageQueuePad2.p02                         N/A
        320     8                                               long FifoMessageQueuePad2.p03                         N/A
        328     8                                               long FifoMessageQueuePad2.p04                         N/A
        336     8                                               long FifoMessageQueuePad2.p05                         N/A
        344     8                                               long FifoMessageQueuePad2.p06                         N/A
        352     8                                               long FifoMessageQueuePad2.p07                         N/A
        360     8                                               long FifoMessageQueuePad2.p08                         N/A
        368     8                                               long FifoMessageQueuePad2.p10                         N/A
        376     8                                               long FifoMessageQueuePad2.p11                         N/A
        384     8                                               long FifoMessageQueuePad2.p12                         N/A
        392     8                                               long FifoMessageQueuePad2.p13                         N/A
        400     8                                               long FifoMessageQueuePad2.p14                         N/A
        408     8                                               long FifoMessageQueuePad2.p15                         N/A
        416     8                                               long FifoMessageQueuePad2.p16                         N/A
        424     8                                               long FifoMessageQueuePad2.p17                         N/A
        432     8                                               long FifoMessageQueueSharedFields.waitingThreads      N/A
        440     4           java.util.concurrent.locks.ReentrantLock FifoMessageQueueSharedFields.notEmptyLock        N/A
        444     4               java.util.concurrent.locks.Condition FifoMessageQueueSharedFields.notEmptyCondition   N/A
        448     8                                               long FifoMessageQueuePad3.p01                         N/A
        456     8                                               long FifoMessageQueuePad3.p02                         N/A
        464     8                                               long FifoMessageQueuePad3.p03                         N/A
        472     8                                               long FifoMessageQueuePad3.p04                         N/A
        480     8                                               long FifoMessageQueuePad3.p05                         N/A
        488     8                                               long FifoMessageQueuePad3.p06                         N/A
        496     8                                               long FifoMessageQueuePad3.p07                         N/A
        504     8                                               long FifoMessageQueuePad3.p08                         N/A
        512     8                                               long FifoMessageQueuePad3.p10                         N/A
        520     8                                               long FifoMessageQueuePad3.p11                         N/A
        528     8                                               long FifoMessageQueuePad3.p12                         N/A
        536     8                                               long FifoMessageQueuePad3.p13                         N/A
        544     8                                               long FifoMessageQueuePad3.p14                         N/A
        552     8                                               long FifoMessageQueuePad3.p15                         N/A
        560     8                                               long FifoMessageQueuePad3.p16                         N/A
        568     8                                               long FifoMessageQueuePad3.p17                         N/A
        576     8                                               long FifoMessageQueue.mask                            N/A
        584     4                                                int FifoMessageQueue.lookAheadStep                   N/A
        588     4   java.util.concurrent.atomic.AtomicReferenceArray FifoMessageQueue.messages                        N/A
    ```


---

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org