greatly differing processing time between java and Linux while calculating hashes?

Discussion in 'Java' started by qwertmonkey, Sep 10, 2012.

  1. qwertmonkey

    qwertmonkey Guest

    As far as I could extract from that code (which I find pretty badly
    readable btw.) you are measuring digest calculation and IO.
    ~
    Well, if I understand you, you will have to read in the file you are
    checksumming anyway, right?
    ~
    I used FileInputStream's read(byte[]) method in a straight forward way,
    which is, byte[], what you must feed a MessageDigest's update method. So,
    what do you mean?
    ~
    ~
    What do you mean? What extra measure should I take to ensure there are no
    effects from OS buffering?
    ~
    ~
    Because I am trying to extract sugar from them in the most efficient way
    ~
    ~
    Yes, and this is why I am just timing the method call and testing different
    block sizes for the buffer ...
    ~
    Still guys (to me) a difference of more than 25% in processing time is
    significant and I don't think that what you consider to be my odd style to code
    is causing it
    ~
    lbrtchx
     
    qwertmonkey, Sep 10, 2012
    #1
    1. Advertisements

  2. qwertmonkey

    Roedy Green Guest

    You want in both cases to read it into RAM, then start your clock,
    then do your computation, then stop your clock, so that you measuring
    the difference in computation, not i/o.

    JVMs take a while to get warmed up. When doing benchmarks you want to
    run a few laps before you turn on the clock.
     
    Roedy Green, Oct 13, 2012
    #2
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.