Bu, Ubuntu Online, Fedora Online, Windows çevrimiçi emülatörü veya MAC OS çevrimiçi emülatörü gibi birden fazla ücretsiz çevrimiçi iş istasyonumuzdan birini kullanarak OnWorks ücretsiz barındırma sağlayıcısında çalıştırılabilen komut cpipe'dir.
Program:
ADI
cpipe - baytları sayarken ve ilerlemeyi bildirirken stdin'i stdout'a kopyalayın
SİNOPSİS
boru [-b bsize] [-vt] [-vr] [-vw] [-ngr] [-s hız]
SEÇENEKLER
-b arabellek boyutu kB olarak,
1 ile oo arasında 1 Int değeri.
Varsayılan: "128"
-vt performansı gösterir.
-vr okuma sürelerini gösterir.
-vw yazma sürelerini gösterir.
-ngr açgözlü olmayan okuma. Yazmaya başlamadan önce okuma sırasında tam bir arabellek uygulamayın.
- kB/s cinsinden çıktı hızı sınırı,
1 ile oo arasında 1 Çift değer.
TANIM
Boru geçen süreyi ölçerken standart girdisini standart çıktısına kopyalar
bir giriş arabelleği okumak ve bir çıkış arabelleği yazmak için. Eğer bir veya daha fazla -vx seçenekler
verilen, ortalama verim istatistikleri ve kopyalanan toplam bayt miktarı yazdırılır
standart hata çıktısına.
Olmayan Açgözlü Okumak
Normalde, cpipe arabelleğini tamamen doldurmak için elinden gelenin en iyisini yapar (seçenek -b) başlamadan önce
yazı. Ancak bazı durumlarda, örneğin etkileşimli bir programla cpipe aracılığıyla konuşursanız,
bu, iletişimi kilitler: söz konusu program, asla göremeyeceği girişi bekler,
çünkü girdi cpipe'ın arabelleğinde sıkışmış. Ancak cpipe'ın kendisi daha fazla girdi görmeyecek
program yanıt vermeden önce.
Bunu aşmak için kullanmayı deneyin -ngr. Bir okuma çağrısı yaparken, cpipe şu şekilde karşılanır:
en az bir bayt alır almaz. Tamponu doldurmak yerine okumayı durdurur ve
çıktıya ne geldiyse onu yazar. Bununla birlikte, verim ölçümlerinin
bir okuma/yazma çiftinde aktarılan bayt sayısı küçülürse daha az kesin olur,
çünkü cpipe her bayt üzerinde çalışmak için nispeten daha fazla zaman harcar.
Sınırlama çıktı
Seçenek ile bir aktarım hızı sınırı belirtilmişse -s, boru aramalar uyu(3) arada
tamponları kopyalamak, böylece bir okuma/yazma döngüsünün süresini yapay olarak uzatmak. Dan beri
çoğu sistemde belirli bir minimum usleep() uyku süresi vardır, örneğin 0.01s,
küçük bir arabellek boyutuyla yüksek sınırlara ulaşmak imkansızdır. Bu durumda artan
arabellek boyutu (seçenek -b) yardımcı olabilir. Ancak, bunun verimi sınırladığını unutmayın.
sadece ortalama olarak. Her bir arabellek mümkün olduğunca hızlı kopyalanır.
ÖRNEK
Komuta
tar cCf / - usr | cpipe -vr -vw -vt > /dev/null
gibi bir çıktıyla sonuçlanır
...
içinde: 19.541 ms, 6.4 MB/sn ( 4.7 MB/sn ortalama) 2.0 MB
çıkış: 0.004 GB/sn'de 30.5 ms (27.1 GB/sn ortalama) 2.0 MB
thru: 19.865ms, 6.3MB/s ( 4.6MB/s ort) 2.0MB
...
The ilk sütun bir veri arabelleğini işlemek için geçen süreyi gösterir (varsayılan olarak 128 kB).
Okuma çağrısı 19.541ms, /dev/null'a yazma çağrısı yalnızca 0.004ms sürdü ve
okumanın başlangıcından yazmanın sonuna kadar 19.865ms sürdü.
The ikinci sütun arabellek boyutunu (varsayılan olarak 128 kB) bölmenin sonucunu gösterir.
kez ilk sütunda.
The üçüncü sütun başlangıcından itibaren ölçülen tüm değerlerin ortalamasını içerir.
programı.
Son olarak, son sütun aktarılan toplam bayt sayısını gösterir, ki bu elbette
okuma ve yazma için aynı.
onworks.net hizmetlerini kullanarak cpipe'ı çevrimiçi kullanın