Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    405

    [Ot] SEEK() OPPURE SCORRERE TUTTO IL FILE?

    Ciao a tutti
    Presumiamo di avere un file molto grande sui 500 mb con all'interno moltissime righe...dunque vi spiego cosa devo fare...

    Devo recuperare 30 righe da questo file, so la posizione(in byte ovviamente) di tutte e 30 le righe....secondo voi, è più veloce, fare un loop su tutto il file e contollare riga dopo riga, oppure è meglio fare di volta in volta utilizzare seek() per posizionarsi e poi read() per leggere la riga?

    Come linguaggio di programmazione utilizzo python, mi interessa comunque "il concetto", poi per il linguaggio credo sia indifferente.

    grazie

  2. #2
    perché ti viene questo dubbio? se conosci l'offset della riga desiderata l'accesso random è sicuramente il più veloce.

    ciao
    sergio

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    405
    Originariamente inviato da mondobimbi
    perché ti viene questo dubbio? se conosci l'offset della riga desiderata l'accesso random è sicuramente il più veloce.

    ciao
    sergio
    mi viene questo dubbio solamente perchè se sono tante righe?
    cioè ammettiamo che ne dovessi prendere 1000 (conosco sempre la posizione in byte di ogni riga)...secondo voi fare 1000 seek() è più conveniente rispetto a scorrere riga dopo riga?

    secondo me si perchè a livello di kernel credo che la seek() sia soltando un addizione, per posizionarsi al punto giusto, no?

    grazie

  4. #4
    Io penso che se conosci l'offset è molto più veloce usare seek piuttosto che scorrere l'intero file.
    Considera che se devi prendere 1000 righe, fai mille spostamenti, se devi scorrere tutto il file, ad esempio di 5000 righe, quanti read fai???

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    405
    sisi appunto per questo...

    ottimo!!!

    grazie

  6. #6
    l'accesso random è il più veloce, senza dubbio.
    ciao
    sergio

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    405
    Originariamente inviato da mondobimbi
    l'accesso random è il più veloce, senza dubbio.
    ciao
    sergio
    un parere in più è sempre meglio..... si perchè parlando a livello di "carico" del kernel alla fine non si tratta solo di una addizione? ....per spostare il cursore più avanti?

    grazie

  8. #8
    Ciao a tutti
    Presumiamo di avere un file molto grande sui 500 mb con all'interno moltissime righe...dunque vi spiego cosa devo fare...

    Devo recuperare 30 righe da questo file, so la posizione(in byte ovviamente) di tutte e 30 le righe....secondo voi, è più veloce, fare un loop su tutto il file e contollare riga dopo riga, oppure è meglio fare di volta in volta utilizzare seek() per posizionarsi e poi read() per leggere la riga?

    Come linguaggio di programmazione utilizzo python, mi interessa comunque "il concetto", poi per il linguaggio credo sia indifferente.

    grazie
    Ovviamente effettuare 30 seek() è più conveniente che effettuare migliaia (milioni?) di read().
    Rilasciata Python FTP Server library 0.5.1
    http://code.google.com/p/pyftpdlib/

    We'll be those who'll make the italian folks know how difficult can be defecating in Southern California without having the crap flying all around the house.

  9. #9
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    405
    Originariamente inviato da billiejoex
    Ovviamente effettuare 30 seek() è più conveniente che effettuare migliaia (milioni?) di read().
    si si infatti.... grazie comunque del parere


Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.