Attention is currently required from: pespin.

kirr has posted comments on this change by kirr. ( 
https://gerrit.osmocom.org/c/osmocom-bb/+/39535?usp=email )

Change subject: trx_toolkit/transceiver: Use with tx_queue_lock instead of 
manual acquire/release
......................................................................


Patch Set 1:

(1 comment)

Commit Message:

https://gerrit.osmocom.org/c/osmocom-bb/+/39535/comment/6cce13bd_6d78589c?usp=email
 :
PS1, Line 9: - it is a bit faster
> I wonder why is it a bit faster? just because the calls are made directly by 
> the compiler in the com […]
I thought it should be a bit faster because of fewer attributes lookup, but 
unfortunately the version with `with` is slower:

```ipython
In [1]: from threading import Lock

In [2]: mu = Lock()

In [3]: def f():
   ...:     mu.acquire()
   ...:     pass
   ...:     mu.release()
   ...:

In [4]: def g():
   ...:     with mu:
   ...:         pass
   ...:

In [5]: from dis import dis

In [6]: dis(f)
  1           0 RESUME                   0

  2           2 LOAD_GLOBAL              0 (mu)
             14 LOAD_METHOD              1 (acquire)
             36 PRECALL                  0
             40 CALL                     0
             50 POP_TOP

  3          52 NOP

  4          54 LOAD_GLOBAL              0 (mu)
             66 LOAD_METHOD              2 (release)
             88 PRECALL                  0
             92 CALL                     0
            102 POP_TOP
            104 LOAD_CONST               0 (None)
            106 RETURN_VALUE

In [7]: dis(g)
  1           0 RESUME                   0

  2           2 LOAD_GLOBAL              0 (mu)
             14 BEFORE_WITH
             16 POP_TOP

  3          18 NOP

  2          20 LOAD_CONST               0 (None)
             22 LOAD_CONST               0 (None)
             24 LOAD_CONST               0 (None)
             26 PRECALL                  2
             30 CALL                     2
             40 POP_TOP
             42 LOAD_CONST               0 (None)
             44 RETURN_VALUE
        >>   46 PUSH_EXC_INFO
             48 WITH_EXCEPT_START
             50 POP_JUMP_FORWARD_IF_TRUE     4 (to 60)
             52 RERAISE                  2
        >>   54 COPY                     3
             56 POP_EXCEPT
             58 RERAISE                  1
        >>   60 POP_TOP
             62 POP_EXCEPT
             64 POP_TOP
             66 POP_TOP
             68 LOAD_CONST               0 (None)
             70 RETURN_VALUE
ExceptionTable:
  16 to 16 -> 46 [1] lasti
  46 to 52 -> 54 [3] lasti
  60 to 60 -> 54 [3] lasti

In [8]: def fff():
   ...:     for i in range(1000):
   ...:         mu.acquire()
   ...:         pass
   ...:         mu.release()
   ...:

In [9]: def ggg():
   ...:     for i in range(1000):
   ...:         with mu:
   ...:             pass
   ...:

In [10]: %timeit fff()
84.6 µs ± 3.46 µs per loop (mean ± std. dev. of 7 runs, 10,000 loops each)

In [11]: %timeit ggg()
160 µs ± 1.61 µs per loop (mean ± std. dev. of 7 runs, 10,000 loops each)

In [12]: %timeit fff()
83.6 µs ± 1.01 µs per loop (mean ± std. dev. of 7 runs, 10,000 loops each)

In [13]: %timeit ggg()
160 µs ± 4.68 µs per loop (mean ± std. dev. of 7 runs, 10,000 loops each)
```

I appologize for misinformation.



--
To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/39535?usp=email
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings?usp=email

Gerrit-MessageType: comment
Gerrit-Project: osmocom-bb
Gerrit-Branch: master
Gerrit-Change-Id: I74b194120bcc518d44796b57e36368bdc8de4aab
Gerrit-Change-Number: 39535
Gerrit-PatchSet: 1
Gerrit-Owner: kirr <[email protected]>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: pespin <[email protected]>
Gerrit-CC: fixeria <[email protected]>
Gerrit-CC: osmith <[email protected]>
Gerrit-Attention: pespin <[email protected]>
Gerrit-Comment-Date: Wed, 12 Feb 2025 21:35:45 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: pespin <[email protected]>

Reply via email to