![]() |
Hello and Welcome-tól az Egyesült Államokat, hogy az UNIX és Linux Forums? Köszönjük, hogy meglátogatta és csatlakozik Globális Közösség.
|
|
google unix.com
|
|||||||
| Fórumok | Regisztráció | Fórum Szabályok | Linkek | Albumok | GYIK | Tagok listája | Naptár | Keres | Mai hozzászólások | Megjelöl Fórumok Olvas |
| Magas szintű Programozás Post kérdések C, C + +, Java, SQL, és más programozási nyelvek itt. |
Több, UNIX és Linux fórum témák Ön által talált Hasznos
|
||||
| Szál | Thread Starter | Fórum | Válaszok | Utolsó hozzászólás |
| szemafor | raguramtgr | A UNIX a dummies Kérdések és válaszok | 7 | 06-15-2009 09:39 AM |
| Szemafor | Jaken | Shell programozás és Scripting | 2 | 04-04-2009 05:10 PM |
| dmidecode, RAM sebesség \u003d "Jelenlegi sebesség: Ismeretlen" | Santi | Fájlrendszerek, lemez és memória | 0 | 02-16-2006 06:16 AM |
| Szemafor | vjsony | A UNIX a dummies Kérdések és válaszok | 3 | 04-07-2003 02:06 PM |
| szemafor | yls177 | A UNIX a dummies Kérdések és válaszok | 1 | 10-08-2002 11:18 PM |
![]() |
|
|
LinkBack | Téma eszközök | Keresés a téma |
Értékelés:
|
Megjelenítési módok |
|
|
|
||||
|
Saját változata rcsos nincs-c zászló, vagy bármilyen más jelölés hasonló az egyik én nyomelemekkel Linux alatt.
Linux: $ / Sbin / sysctl-a | grep shm ... <snip hiba msgs> vm.hugetlb_shm_group \u003d 0 kernel.shmmni \u003d 4096 kernel.shmall \u003d 2097152 kernel.shmmax \u003d 33554432 K: Miért SHM paraméterek befolyásolják szemaforhoz teljesítményét? Is, csak abban az esetben, ha ez Futottam $ / Sbin / sysctl-a | grep sem <snip hiba msgs> kernel.sem \u003d 250 32000 32 128 Last edited by migurus; 09/24/2008 at 07:55 PM.. Ok: hozzáadott info |
|
||||
|
Köszönet Otheus és Jim, van elég részletes választ itt van:
szemafor hozzáférési sebesség | KernelTrap Így a kernel 2.6.9 nem a legjobb a modern h / w. Értékelem everebodys time! |
|
|||||
|
Dicsőség neked meg kitartás! Azonban, nem hiszem, hogy ez a végét.
Csináltam egy kis kutatást strcmp válasza. 2.6.9 adták 2004-ben és a szabvány a RHEL 4, amely szállított glibc 2.3.4. Pentium 3 volt a régi, 2004-ben. RHEL 5 hajók kernel 2.6.18 és 2.5.12 glibc. Tehát én néhány viszonyítási pontban is. Követtem strcmp javaslatát, és egy "eső timer" módszer, ha a ciklus kezdődik és végződik, az idő () megállapítja, hogy a változás a második. Van egy 10-100 ms varianciára mindkét oldalán a bukást, ezért vettem átlagosan több fut. Aztán oszthatják ops / s számot a CPU sebesség (ciklus / s), hogy "kákat per op.
A tic / op kisebb, annál jobb. Így a kernel 2.6.18 valóban gyorsabb, mint a 2.6.9-mag. A Xeon sokkal lassabban. Feltehetőleg a kernelekkel össze a legkisebb közös nevező. Nem Optimalizálási zászló volt kapcsolva, de ott volt a különbség a fordítóprogram: a házigazdák használt 2.6.9 gcc 3.4.6, míg az újabbak közül a gcc 4.1.1. Szintén meg kell jegyezni, hogy nincs egy AMD fut 2.6.9, sem a Xeon futó 2.6.18. Ez nagyon lehet, hogy a probléma az, hogy ezek a magok nem optimálisan összeállítani a különböző architektúrák. Miért Xeons annyival lassabb elég meglepő, hiszen a tulajdonság használható HPC components. Függetlenül attól, sem ezek az eredmények úgy tűnik, hogy elmagyarázza az alapvető kérdést: Miért van SCO így sokkal gyorsabban? Last edited by otheus; 10/08/2008 at 05:57 AM.. Oka: Azt mondtam, hogy a Xeon sokkal gyorsabb, ha sokkal lassabb. |
|
|||||
|
Itt van a kód:
Kód:
#include <stdio.h>
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/sem.h>
#include <time.h>
#define NSEMS 2
/* change this per CPU to run between 8 and 12 s*/
const static int maxloop = 10000000;
main(int argc, char *argv[])
{
time_t start,last,stop;
long int i;
int estimate = 100;
int sid;
key_t key;
ushort vals[NSEMS] = { 0, 0 };
key = ftok("/tmp",99);
last=start=time(NULL);
for (i = 0; i < 1000; ++i) {
usleep(10);
last=time(NULL);
if (last > start) break;
}
start=last;
last = 0;
for (i = maxloop/8; i < maxloop; i++) {
if ((sid = semget(key, NSEMS, IPC_CREAT | 0777)) == -1) {
perror("Can Not Get Semaphore ID");
}
if (semctl(sid, NSEMS, GETALL, vals) == -1) {
perror("Can Not Get Semaphore Values");
}
}
/* do the last 1/8th until the second changes.
If your processor reaches the maxloop before that,
change the maxloop or the divisor or the "estimate" */
stop=time(NULL);
for (i = maxloop - maxloop/8; i < maxloop; ++i) {
if ( !(i % estimate) ) {
last=time(NULL);
if (last > stop) break;
stop=last;
}
/* repeat semaphore opts */
if ((sid = semget(key, NSEMS, IPC_CREAT | 0777)) == -1) {
perror("Can Not Get Semaphore ID");
}
if (semctl(sid, NSEMS, GETALL, vals) == -1) {
perror("Can Not Get Semaphore Values");
}
}
stop=last;
printf("%.2f semop/s (%i/%i) [%d]\n", (double)i/(stop-start), i, stop-start, estimate);
}
|
![]() |
| Könyvjelzõk |
| Téma eszközök | Keresés a téma |
| Megjelenítési módok | Rate this thread |
|
|