Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Complete library/multiprocessing#348

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Merged
JulienPalard merged 9 commits intopython:3.7fromentwanne:multiprocessing
Oct 23, 2018

Conversation

@entwanne
Copy link
Collaborator

@entwanneentwanne commentedOct 4, 2018
edited
Loading

  • Rebaser etsquasher lescommitsfixup

@entwanneentwanne changed the title[WIP] library/ultiprocessing[WIP] library/multiprocessingOct 4, 2018
"Interpreter Lock` en utilisant des processus plutôt que des *threads*. "
"Ainsi, le module :mod:`multiprocessing` permet au développeur de bénéficier "
"entièrement des multiples processeurs sur une machine. Il tourne à la fois "
"sur les systèmes Unix et Windows."
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

s/paquet/module ?
s/Le paquet multiprocessing offre à la fois.../Il offre à la fois.../

Copy link
CollaboratorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

Je préfère conserver le terme « paquet » quand il est utilisé sur la page originale. Et pour la seconde remarque, j'aurais aimé le faire mais ça provoque une erreur lors de la compilation parce qu'on n'a plus autant de références dans le texte source que dans le texte traduit.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

Ah oui ! J'avais oublié ce détail !

"unlinked until the next reboot.)"
msgstr""
"Sous Unix, utiliser les méthodes de démarrage *spawn* ou *forkserver* "
"démarrera aussi un processus *semaphore tracker* qui traquera les sémaphores "
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

Je crois que l'on préfère le présent au futur (@christopheNan)

"They are, however, slower than using shared memory."
msgstr""
"Les processus serveurs de gestionnaires sont plus flexibles que les mémoires "
"partagées parce qu'ils peuvent supporter des des types d'objets arbitraires. "
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

s/supporter/gérer/, répétition de "des"

Copy link
Contributor

@christopheNanchristopheNan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

Merci pour ce très gros travail. La contribution est de très bonne qualité. Quelques remarques générales :
Souvent l'anglais utilise "should" que l'on traduit plutôt par "doit" en français (sinon le programmeur français pourrait se sentir autorisé à transgresser la règle).
Le texte anglais utilise le futur à l'occasion. Souvent, le présent en français est plus adéquat.
sémaphore est masculin.
Merci d'essayer de traduire l'ensemble des termes (par exemple timeout, deadlock, buffer, socket, ...). Il est très rare que le mot ou l'expression française n'existe pas pour les concepts utilisés en Python. Cette traduction s'adresse à priori à des personnes ayant peu de connaissances en anglais ou en informatique ; à mon avis, l'utilisation de termes français facilite la compréhension des concepts sous-jacents.
Bémol à la remarque précédente : les termes sont parfois des paramètres nommés des fonctions. Il faut alors trouver le bon équilibre entre l'utilisation du nom de paramètre (en anglais) et le concept (en français).

":mod:`multiprocessing` est un paquet qui permet l'instanciation de processus "
"via la même API que le module :mod:`threading`. Le paquet :mod:"
"`multiprocessing` offre à la fois des possibilités de programmation "
"concurrente locale ou à distance, évitant les problèmes du :term:`Global "
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

s/évitant/contournant/ ?

"module. This basic example of data parallelism using :class:"
"`~multiprocessing.pool.Pool`, ::"
msgstr""
"Le module :mod:`multiprocessing` introduit aussi des APIs sans analogues "
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

en français, les acronymes ne prennent pas la marque du pluriel : s/APIs/API/

"`~multiprocessing.pool.Pool`, ::"
msgstr""
"Le module :mod:`multiprocessing` introduit aussi des APIs sans analogues "
"dans le module :mod:`threading`. Un exemple de cela est l'objet :class:"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

"de cela" est inutile.

"`~multiprocessing.pool.Pool` qui offre une manière pratique de paralléliser "
"l'exécution d'une fonction sur de multiples valeurs d'entrée, distribuant "
"ces valeurs entre les processus (parallélisme de données). L'exemple suivant "
"présente la manière commune de définir une telle fonction dans un module "
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

s/commune/classique/ ?

#:../Doc/library/multiprocessing.rst:40
msgid"will print to standard output ::"
msgstr""
msgstr"affichera sur la sortie standard : ::"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

Le futur est inutile à mon avis.

msgstr""
"Les objets de connexion autorisent l'envoi et la réception d'objets "
"sérialisables ou de chaînes de caractères. Ils peuvent être vus comme des "
"*sockets* connectées orientées messages."
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

socket : interface de connexion

"though it depends on the OS) may raise a :exc:`ValueError` exception."
msgstr""
"L'objet doit être sérialisable. Les *pickles* très larges (approximativement "
"32 MiB+, bien que cela dépende de l'OS) pourront lever une exception :exc:"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

s/MiB/Mo/ (ou Mio si vraiment la différence a un sens, ce que je ne pense pas d'après le "approximativement").

msgstr""
"La méthode :meth:`Connection.recv` désérialise automatiquement les données "
"qu'elle reçoit, ce qui peut être un risque de sécurité à moins que vous ne "
"soyez sûr du processus émetteur du message."
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

/soyez sûr/fassiez réellement confiance/ ?

"maximum pendant ce nombre spécifié de secondes, tant que le verrou ne peut "
"être acquis. Les invocations avec une valeur de *timeout* négatives sont "
"équivalents à zéro. Les invocations avec un *timeout* à ``None`` (par "
"défaut) correspondent à un délai d'attente infi. Notez que le traitement des "
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

s/infi/infini/

"used in :keyword:`with` statements."
msgstr""
":class:`Lock` supporte le protocole :term:`context manager` et peut ainsi "
"être utilisé avec une instruction :keyword:`with`."
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

s/utilisé/utilisée/ (la classe)

Copy link
Contributor

@christopheNanchristopheNan left a comment
edited
Loading

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

Merci d'essayer de traduire l'ensemble des termes : wrapper, process-safe, lock, proxy, callable

"which allow one to use it to store and retrieve strings."
msgstr""
"Notez qu'un tableau de :data:`ctypes.c_char` a ses attributs *value* et "
"*raw* qui permettent de l'utilisé pour stocker et récupérer des chaînes de "
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

s/utilisé/utiliser/

"initialize the array and whose length determines the length of the array."
msgstr""
"*typecode_or_type* détermine le type des éléments du tableau renvoyé : il "
"s'agit soit d'un type *ctype* soit d'un caractère *typecode* tel qu'utilisé "
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

un caractère codant le type des éléments du tableau (letypecode)

"documentation for :mod:`ctypes`."
msgstr""
"Notez qu'un tableau de :data:`ctypes.c_char` a ses attributs *value* et "
"*raw* qui permettent de l'utilisé pour stocker et récupérer des chaînes de "
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

s/utilisé/utiliser/

"peut être utilisé pour partager des objets entre les processus. L'objet "
"gestionnaire renvoyé correspond à un processus enfant instancié et possède "
"des méthodes pour créer des objets partagés et renvoyer les *proxies* "
"correspondant."
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

s/correspondant/correspondants/

msgstr""
"Il est possible de lancer un serveur gestionnaire sur une machine et d'avoir "
"des clients l'utilisant sur d'autres machines (en supposant que les pare-feu "
"impliqués l'autorise)."
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

les pare-feux impliqués l'autorisent.

Copy link
CollaboratorAuthor

@entwanneentwanne left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

Merci pour vos retours, je fais en sorte de corriger tout ça au plus vite.
Désolé de ne pas être revenu dessus pendant lesprint, je préférais rester focalisé pour arriver au bout du module.

"Interpreter Lock` en utilisant des processus plutôt que des *threads*. "
"Ainsi, le module :mod:`multiprocessing` permet au développeur de bénéficier "
"entièrement des multiples processeurs sur une machine. Il tourne à la fois "
"sur les systèmes Unix et Windows."
Copy link
CollaboratorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

Je préfère conserver le terme « paquet » quand il est utilisé sur la page originale. Et pour la seconde remarque, j'aurais aimé le faire mais ça provoque une erreur lors de la compilation parce qu'on n'a plus autant de références dans le texte source que dans le texte traduit.

@entwanne
Copy link
CollaboratorAuthor

entwanne commentedOct 7, 2018
edited
Loading

J'ai corrigé la plupart des remarques, je ferai une seconde passe de relecture et de correction des anglicismes.
Ainsi que les erreurs Travis. :)

@JulienPalard
Copy link
Member

Ça me semble mature. C'est c'est bon pour toi@entwanne tu peux enlver le WIP.


#: ../Doc/library/multiprocessing.rst:2848
msgid ""
"An example showing how to use queues to feed tasks to a collection of worker "
"processes and collect the results:"
msgstr ""
"Un exemple montrant comment utiliser des queues pour délivrer les tâches à "
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

délivrer est un anglicisme. alimenter en ?

@entwanne
Copy link
CollaboratorAuthor

@JulienPalard Je dois encore corriger la plupart des anglicismes, j'aurai pas le temps ce week-end mais ça devrait être bon en début de semaine.

@entwanne
Copy link
CollaboratorAuthor

J'ai corrigé la majeure partie des anglicismes, et simplement conservé leswrappers etprocess-safe que je trouve bien plus clairs que leurs possibles traduction (emballages, sûr entre les processus).

@entwanneentwanne changed the title[WIP] library/multiprocessingComplete library/multiprocessingOct 15, 2018
Copy link
Contributor

@christopheNanchristopheNan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

Mes propositions pour "process-safe"

"créé pour synchroniser l'accès à la valeur. Si *lock* est un objet :class:"
"`Lock` ou :class:`RLock` alors il sera utilisé pour synchroniser l'accès à "
"la valeur. Si *lock* vaut ``False``, l'accès à l'objet renvoyé ne sera pas "
"automatiquement protégé par un verrou, donc il ne sera pas forcément "
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

ce qui rend son utilisation hasardeuse dans un contexte avec de multiples fils d'exécution ou multi-processus.


#: ../Doc/library/multiprocessing.rst:1465
msgid ""
"The same as :func:`RawArray` except that depending on the value of *lock* a "
"process-safe synchronization wrapper may be returned instead of a raw ctypes "
"array."
msgstr ""
"Identique à :func:`RawArray` à l'exception que suivant la valeur de *lock* "
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

sauf que, suivant la valeur delock, le tableauctypes brut renvoyé pourra être encapsulé dans un objet gérant la synchronisation entre des fils d'exécution ou des processus.

@JulienPalardJulienPalard merged commitb257e33 intopython:3.7Oct 23, 2018
Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment

Reviewers

2 more reviewers

@christopheNanchristopheNanchristopheNan requested changes

@ArkelisArkelisArkelis left review comments

Reviewers whose approvals may not affect merge requirements

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

4 participants

@entwanne@JulienPalard@christopheNan@Arkelis

[8]ページ先頭

©2009-2025 Movatter.jp