| Server IP : 217.160.0.212 / Your IP : 216.73.216.141 Web Server : Apache System : Linux www 6.18.51-i1-ampere #1196 SMP Fri Sep 11 20:43:55 CEST 2026 aarch64 User : sws1073854427 ( 1073854427) PHP Version : 8.4.23 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /lib/python3/dist-packages/pythran/analyses/ |
Upload File : |
""" ParallelMaps detects parallel map(...). """
from pythran.analyses.aliases import Aliases
from pythran.analyses.pure_expressions import PureExpressions
from pythran.passmanager import ModuleAnalysis
from pythran.tables import MODULES
class ParallelMaps(ModuleAnalysis):
"""Yields the est of maps that could be parallel."""
def __init__(self):
self.result = set()
super(ParallelMaps, self).__init__(PureExpressions, Aliases)
def visit_Call(self, node):
if all(alias == MODULES['builtins']['map']
for alias in self.aliases[node.func]):
if all(f in self.pure_expressions
for f in self.aliases[node.args[0]]):
self.result.add(node)
def display(self, data):
for node in data:
print("I:", "{0} {1}".format(
"call to the `map' intrinsic could be parallel",
"(line {0})".format(node.lineno)
))