Repository 32bit  Forum
Repository 64bit  Wiki

BASH - generare nomi files

Forum dedicato alla programmazione.

Moderatore: Staff

Regole del forum
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.

Re: BASH - generare nomi files

Messaggioda urka58 » dom mar 08, 2009 23:17

Porca miseria Mario, 6-7 secondi sulla mia macchina per generare il file con il programma compilato.
Non mi aspettavo tanta differenza..
Ciao

PS Qualche anima gentile mi spiega come inviare i messaggi personali?
Avatar utente
urka58
Linux 2.6
Linux 2.6
 
Messaggi: 539
Iscritto il: mer dic 07, 2005 23:29

Re: BASH - generare nomi files

Messaggioda targzeta » lun mar 09, 2009 0:04

urka58 ha scritto:Porca miseria Mario, 6-7 secondi sulla mia macchina per generare il file con il programma compilato.
Non mi aspettavo tanta differenza..

Bhé urka58 se ci pensi un attimo lo script (quello postato da me):
  • invoca una subshell
  • invoca seq per creare una listato di 10.000.000 di righe
  • poi analizza quel listato immenso (che è tutto in memoria) per stampare l'output
mentre il programma compilato si limita ad eseguire un ciclo di 10.000.000 di righe, un pò come eseguire:
Codice: Seleziona tutto
seq -w 0 9999999


Ancora più volece sarebbe se il programma di Mario aprisse un file e ci scrivesse direttamente dentro....penso :)

Spina

Offtopic:
urka58 ha scritto:...
PS Qualche anima gentile mi spiega come inviare i messaggi personali?

Ma se l'altro giorno me ne hai mandato uno?
Comuque, vai su "Messaggi Personali", clicchi su "Nuovo PM". Il punto critico è che dopo aver aggiunto il nick di un utente devi premere "aggiungi" altrimenti è come se non l'avessi aggiunto. Puoi anche usare il link "Trova utente" per fare una ricerca.
Linux Registered User #454438
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
20/04/2013 - Io volevo Rodotà
Avatar utente
targzeta
Iper Master
Iper Master
 
Messaggi: 6176
Iscritto il: gio nov 03, 2005 14:05
Località: Carpignano Sal. (LE) <-> Pisa
Nome Cognome: Emanuele Tomasi
Slackware: current
Kernel: latest stable
Desktop: IceWM

Re: BASH - generare nomi files

Messaggioda conraid » lun mar 09, 2009 9:59

Mario Vanoni ha scritto:Un vecchio UNIXiano rimasto ai tempi senza X e senza mouse.


Offtopic: non discuto di questo, ma in quel messaggio postato dicevi il contrario, ma va beh, chiudiamo il fuori tema
Avatar utente
conraid
Staff
Staff
 
Messaggi: 12019
Iscritto il: mer lug 13, 2005 23:00
Località: Livorno
Nome Cognome: Corrado Franco
Slackware: current

Re: BASH - generare nomi files

Messaggioda Mario Vanoni » lun mar 09, 2009 14:20

spina ha scritto:Ancora più volece sarebbe se il programma di Mario aprisse un file e ci scrivesse direttamente dentro....penso :)

Non molto,
time z3 > /dev/null
0m3.884s
Mario Vanoni
Iper Master
Iper Master
 
Messaggi: 3174
Iscritto il: lun set 03, 2007 20:20
Località: Cuasso al Monte (VA)
Nome Cognome: Mario Vanoni
Slackware: 12.2
Kernel: 3.0.4 statico
Desktop: fluxbox/seamonkey

Re: BASH - generare nomi files

Messaggioda targzeta » lun mar 09, 2009 15:35

Mario Vanoni ha scritto:...time dice 0m4.349s...


Mario Vanoni ha scritto:
spina ha scritto:Ancora più volece sarebbe se il programma di Mario aprisse un file e ci scrivesse direttamente dentro....penso :)

Non molto,
time z3 > /dev/null
0m3.884s


Bhé, immaginavo che migliorasse non che ci mettesse 0 secondi :). Comunque volevo dire che sarebbe più veloce se modificassi il tuo programma affinchè fosse lui stesso a ridirigere l'output nel file non di mandare l'output su /dev/null, ma ora che ci penso bene forse non fa differenza :)

Spina
Linux Registered User #454438
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
20/04/2013 - Io volevo Rodotà
Avatar utente
targzeta
Iper Master
Iper Master
 
Messaggi: 6176
Iscritto il: gio nov 03, 2005 14:05
Località: Carpignano Sal. (LE) <-> Pisa
Nome Cognome: Emanuele Tomasi
Slackware: current
Kernel: latest stable
Desktop: IceWM

Re: BASH - generare nomi files

Messaggioda Mario Vanoni » lun mar 09, 2009 16:35

spina ha scritto:
Mario Vanoni ha scritto:...time dice 0m4.349s...


Mario Vanoni ha scritto:
spina ha scritto:Ancora più volece sarebbe se il programma di Mario aprisse un file e ci scrivesse direttamente dentro....penso :)

Non molto,
time z3 > /dev/null
0m3.884s


Bhé, immaginavo che migliorasse non che ci mettesse 0 secondi :). Comunque volevo dire che sarebbe più veloce se modificassi il tuo programma affinchè fosse lui stesso a ridirigere l'output nel file non di mandare l'output su /dev/null, ma ora che ci penso bene forse non fa differenza :)

Spina


Codice: Seleziona tutto
static char prog[] = "z4";
#define SCCSID "@(#)"  __FILE__ " 09-Mar-2009/va compiled " __DATE__ " " __TIME__
char *sccsid(void) { return (SCCSID); }

#include        <stdio.h>
#include        <stdlib.h>

int
main (int argc, char **argv)
{
        int     i, j;
        FILE    *fp;

        if (argc < 2)
                exit(fprintf(stderr, "Usage: %s filename\n", prog));

        if (! (fp = fopen(argv[1], "w")) )
                exit(fprintf(stderr, "%s: can't open %s.\n", prog, argv[1]));

        for (i = 0; i < 10000; i++)
                for (j = 0; j < 1000; j++)
                        fprintf(fp, "testo-%04i-testo-%06i.txt\n", i, j);

        fclose(fp);
        return(0);
}


time di questa versione 0m4.484s

Ritorna 0 con successo, non zero con errore.

Grazie a tutti di aver insegnato al vecchio UNIXiano
come copiare ed incollare, funziona anche tra tty[1-6].

Le prime tre righe servono a what(1):
what z4
z4
z4.c 09-Mar-2009/va compiled Mar 9 2009 15:26:36

Molto utile per identificare quale versione si usa,
e soprattutto quando e` stato compilata la versione!

Questo

char *sccsid(void) { return (SCCSID); }

_e`_ _imperativo_ per compilatori _non_ gcc
che ottimizzano via l'informazione,
e poi what(1) rimane senza risposta.

Una versione di what(1)
http://heirloom.sourceforge.net/devtools.html

io uso sempre una presa da NetBSD del 1999,
Copyright di Berkeley 8.1(6/6/93) 1980, 1991, 1993.
Mario Vanoni
Iper Master
Iper Master
 
Messaggi: 3174
Iscritto il: lun set 03, 2007 20:20
Località: Cuasso al Monte (VA)
Nome Cognome: Mario Vanoni
Slackware: 12.2
Kernel: 3.0.4 statico
Desktop: fluxbox/seamonkey

Re: BASH - generare nomi files

Messaggioda urka58 » lun mar 09, 2009 21:07

spina ha scritto:
urka58 ha scritto:Porca miseria Mario, 6-7 secondi sulla mia macchina per generare il file con il programma compilato.
Non mi aspettavo tanta differenza..

Bhé urka58 se ci pensi un attimo lo script (quello postato da me):
  • invoca una subshell
  • invoca seq per creare una listato di 10.000.000 di righe
  • poi analizza quel listato immenso (che è tutto in memoria) per stampare l'output
mentre il programma compilato si limita ad eseguire un ciclo di 10.000.000 di righe, un pò come eseguire:
Codice: Seleziona tutto
seq -w 0 9999999


Ancora più volece sarebbe se il programma di Mario aprisse un file e ci scrivesse direttamente dentro....penso :)

Spina

Offtopic:
urka58 ha scritto:...
PS Qualche anima gentile mi spiega come inviare i messaggi personali?

Ma se l'altro giorno me ne hai mandato uno?
Comuque, vai su "Messaggi Personali", clicchi su "Nuovo PM". Il punto critico è che dopo aver aggiunto il nick di un utente devi premere "aggiungi" altrimenti è come se non l'avessi aggiunto. Puoi anche usare il link "Trova utente" per fare una ricerca.


Certo, solo non mi aspettavo un'efficienza così, da 7 minuti a 7 secondi.

Offtopic: devo confessare che sono parecchio interdetto con i sitemi di messaggistica, tutti... email, Skype, msn...
Credo di aver capito adesso, credo..
Ciao
Avatar utente
urka58
Linux 2.6
Linux 2.6
 
Messaggi: 539
Iscritto il: mer dic 07, 2005 23:29

Precedente

Torna a Programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite

cron