1
- # Copyright (c) 2017, 2018, Oracle and/or its affiliates.
2
- # Copyright (c) 2013, Regents of the University of California
1
+ # Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
2
+ # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
3
3
#
4
- # All rights reserved.
4
+ # The Universal Permissive License (UPL), Version 1.0
5
5
#
6
- # Redistribution and use in source and binary forms, with or without modification, are
7
- # permitted provided that the following conditions are met:
6
+ # Subject to the condition set forth below, permission is hereby granted to any
7
+ # person obtaining a copy of this software, associated documentation and/or
8
+ # data (collectively the "Software"), free of charge and under any and all
9
+ # copyright rights in the Software, and any and all patent rights owned or
10
+ # freely licensable by each licensor hereunder covering either (i) the
11
+ # unmodified Software as contributed to or provided by such licensor, or (ii)
12
+ # the Larger Works (as defined below), to deal in both
8
13
#
9
- # 1. Redistributions of source code must retain the above copyright notice, this list of
10
- # conditions and the following disclaimer.
11
- # 2. Redistributions in binary form must reproduce the above copyright notice, this list of
12
- # conditions and the following disclaimer in the documentation and/or other materials provided
13
- # with the distribution.
14
+ # (a) the Software, and
14
15
#
15
- # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
16
- # OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
17
- # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
18
- # COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
19
- # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
20
- # GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
21
- # AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
22
- # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
23
- # OF THE POSSIBILITY OF SUCH DAMAGE.
24
- # micro benchmark: attribute access
25
-
26
- iteration = 50000 # 50000
27
-
16
+ # (b) any piece of software and/or hardware listed in the lrgrwrks.txt file if
17
+ # one is included with the Software each a "Larger Work" to which the Software
18
+ # is contributed by such licensors),
19
+ #
20
+ # without restriction, including without limitation the rights to copy, create
21
+ # derivative works of, display, perform, and distribute the Software and make,
22
+ # use, sell, offer for sale, import, export, have made, and have sold the
23
+ # Software and the Larger Work(s), and to sublicense the foregoing rights on
24
+ # either these or other terms.
25
+ #
26
+ # This license is subject to the following condition:
27
+ #
28
+ # The above copyright notice and either this complete permission notice or at a
29
+ # minimum a reference to the UPL must be included in all copies or substantial
30
+ # portions of the Software.
31
+ #
32
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
33
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
34
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
35
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
36
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
37
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
38
+ # SOFTWARE.
28
39
29
40
class Foo (object ):
30
41
def __init__ (self , a ):
@@ -40,17 +51,15 @@ def a(self, value):
40
51
41
52
42
53
def do_stuff (foo ):
43
- for i in range (iteration ):
54
+ for i in range (50000 ):
44
55
local_a = foo .a + 1
45
56
foo .a = local_a % 5
46
-
47
57
return foo .a
48
58
49
59
50
60
def measure (num ):
51
- for i in range (num ): # 50000
61
+ for i in range (num ):
52
62
result = do_stuff (Foo (42 ))
53
-
54
63
print (result )
55
64
56
65
0 commit comments