Bagaimana untuk Mengurangkan Saiz Penampan sys.stdin untuk Pengendalian Input Dioptimumkan?

Susan Sarandon
Lepaskan: 2024-10-21 13:19:02
asal
650 orang telah melayarinya

How to Reduce the Buffer Size of sys.stdin for Optimized Input Handling?

Bagaimana untuk Menetapkan Saiz Penampan yang Lebih Kecil untuk sys.stdin?

Apabila menjalankan memcached dengan corak arahan yang diberikan, ia mengambil masa yang agak lama untuk memtracer. skrip py untuk mula menerima input. Ini dikaitkan dengan saiz penimbal besar sys.stdin, yang tidak optimum untuk operasi yang diingini. Artikel ini meneroka dua kaedah untuk menangani isu ini, termasuk input/output tidak buffer dan menggunakan os.fdopen.

Menggunakan Bendera Python -u

Python menyediakan pilihan yang mudah untuk mengalih keluar penimbalan daripada stdin/ stdout sepenuhnya menggunakan bendera -u. Ini boleh ditentukan apabila menjalankan arahan:

<code class="bash">memcached -vv 2>&1 | tee memkeywatch2010098.log 2>&1 | ~/bin/memtracer.py | tee memkeywatchCounts20100908.log -u</code>
Salin selepas log masuk

Mengubah Penimbalan Menggunakan os.fdopen

Sebagai alternatif, anda boleh mencipta objek fail baharu dengan deskriptor fail yang sama seperti yang sedia ada, tetapi dengan penimbalan yang diubah. Ini melibatkan penggunaan fungsi os.fdopen:

<code class="python">import os
import sys

newin = os.fdopen(sys.stdin.fileno(), 'r', 100)</code>
Salin selepas log masuk

Ini mencipta objek fail baharu, newin, yang dibaca daripada deskriptor fail yang sama seperti input standard (sys.stdin), tetapi dengan saiz penimbal hanya 100 bait. Anda kemudiannya boleh menggunakan newin sebagai objek input standard anda.

Kesimpulan

Kedua-dua bendera -u dan os.fdopen menawarkan kaedah yang berkesan untuk mengurangkan penimbalan dalam sys.stdin. Walaupun bendera -u mengalih keluar penimbalan sepenuhnya, os.fdopen menyediakan lebih fleksibiliti dalam menetapkan saiz penimbal tersuai. Adalah penting untuk menguji pendekatan ini secara menyeluruh untuk memastikan keserasian dengan platform yang berbeza dan memenuhi keperluan prestasi tertentu.

Atas ialah kandungan terperinci Bagaimana untuk Mengurangkan Saiz Penampan sys.stdin untuk Pengendalian Input Dioptimumkan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan