This project is read-only.

Performance...

Jul 4, 2011 at 10:53 AM

The lib use so many string comparision when it dont need to do that.

The ideal and functions is great, but it need some improvement I think.

Does anyone know some more lib that parse .net pe ?

Jul 4, 2011 at 11:19 AM

Hi,

Please tell me where do the string comparison is unnecessary.

In my opinion, the API and the compatibility of it need improvements for sure.

There is many library that can parse .NET PE like Mono.Cecil, Microsoft.CCI and they worked on object level mostly(i.e. Methods and Types) and this one worked on binary level mostly(i.e. Tables and Streams).

Jul 5, 2011 at 4:33 AM

Yes for example, I see many place in code that try to determine a type by comparing the type.FullName with the full name of specified type. Something like:

 

switch ((ret.Columns[i].Type as Type).FullName)
{
case "System.Byte":
...
case "System.UInt16":
...
case "NetPE.Core.Rva":
...

why just compare its type directly:

var retType = ret.Columns[i].Type as Type;
if (retType == typeof(byte)) .....


I think it's better than compare a value with a string, especially when the lib parsing large files with lots of tokens.