Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options
 
PerlMonks  

Re^4: Iteratively unpack structure from binary file ( ReadBytes, ReadFloat, ReadInt32 )

by ikegami (Patriarch)
on Oct 22, 2014 at 03:22 UTC ( [id://1104628]=note: print w/replies, xml ) Need Help??


in reply to Re^3: Iteratively unpack structure from binary file ( ReadBytes, ReadFloat, ReadInt32 )
in thread Iteratively unpack structure from binary file

Yup, but I like the memorable-self-documenting-english-worded-ness of the api ...

It's a pretty incomplete API. You didn't even support the integer formats used by most communication protocols.

As for memorable and self-documenting, all that's needed here is

sub parse_myformat_rec { ... }

That would be more meaningful and surely at least 10 times faster. If so, that's the difference between 6 seconds and 60 seconds when processing large files as is usually the case with such code.

I can't guess how it gets twisted across platforms so I leave it as is

So why did you go out of your way to write code that will read your integers on those platforms?

perlpacktut recommends Convert::Binary::C :) I find "my api" (similar to what I saw in javascript/java/c#sharp ...) easier

perlpacktut recommends Convert::Binary::C for C structs. Your API isn't easier at handling those; it's completely useless at handling alignment.

  • Comment on Re^4: Iteratively unpack structure from binary file ( ReadBytes, ReadFloat, ReadInt32 )
  • Download Code

Replies are listed 'Best First'.
Re^5: Iteratively unpack structure from binary file ( ReadBytes, ReadFloat, ReadInt32 )
by Anonymous Monk on Oct 22, 2014 at 06:32 UTC

    It's a pretty incomplete API. You didn't even support the integer formats used by most communication protocols.

    And then what happened?

    As for memorable and self-documenting, all that's needed here is sub parse_myformat_rec { ... }

    Ah yes, dot dot dot, the correct answer

    That would be more meaningful and surely at least 10 times faster. If so, that's the difference between 6 seconds and 60 seconds when processing large files as is usually the case with such code.

    Ah yes, the master pedant is baiting the hook

    So why did you go out of your way to write code that will read your integers on those platforms?

    So you will have something to talk about

    perlpacktut recommends Convert::Binary::C for C structs. Your API isn't easier at handling those; it's completely useless at handling alignment.

    Bravo sir, you win

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1104628]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others learning in the Monastery: (2)
As of 2024-04-26 00:31 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found