Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Mengurangkan Saiz Penampan sys.stdin untuk Pengendalian Input Dioptimumkan?

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

Susan Sarandon
Susan Sarandonasal
2024-10-21 13:19:02687semak imbas

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>

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>

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!

Kenyataan:
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