On 04/09/2012 10:37 AM, Wayne Stambaugh wrote:
> On 4/9/2012 9:50 AM, Dick Hollenbeck wrote:
>> Wayne, regarding:
>>
>> DRAWSEGMENT::Format(), it concerns me in two minor ways:
>>
>>     case S_SEGMENT:  // Line
>>         aFormatter->Print( 0, "line (pts xy(%s) xy(%s))",
>>                            FormatBIU( m_Start ).c_str(),
>>                            FormatBIU( m_End ).c_str() );
>>  
>>
>> a) I don't think this is s-expression, the xy(...) should be (xy ...)
>>
>>
>> b) It may be worth considering losing one token, namely the "(draw line"  
>> might be
>> "(gr_line".  (Really, I am just trying to cover my ass.)  I don't want to be 
>> blamed for
>> the slow parsing speed later.   :)   Any reduction in another token that is 
>> simple like
>> this is worth considering.  Each token in the stream is another delay, which 
>> cumulatively
>> may be noticeable.   Maybe a common prefix for the graphic primitives in this
>> DRAWSEGMENT::Format() would allow you to omit one token.
>>
>> Suggesting "gr_" or something like it prefixed to the primitive, instead of 
>> a full token
>> "draw ".  My concern is speed later.   However, I'm guessing you are 
>> reserving the right
>> to makes changes later.  :)
>>
>>
>> I'm guessing it really gets important on the more common objects like tracks 
>> and vias,
>> *especially tracks*, which end up being about the most common object in the 
>> file.
>>
>>
>> ALSO:
>> ==========
>>
>> Maybe we can get the (track...) on one line as a default, this will help 
>> also, since we're using two lines now.
>>
>> Whitespace in this format is not supposed to matter, but again, I am trying 
>> to get out of the way regarding parsing speed later.
> As of now, the deepest indentation level is 6 spaces.  I know the
> indentation is responsible for a lot of the additional file size but
> getting rid of it would seriously reduce the readability file.  I'm not
> sure there is an elegant solution to that problem.
>
> Wayne


File size is no problem for me.  I don't see it being too tied to speed.  All 
my comments
in this sub-thread were purely *speed* centered, speed only.

Eliminating an fgets() ( DSNLEXER::ReadLine() )  for each TRACK, gives me a 
running start
on the speed comparison which will be inevitable.

So my concern was NOT the 6 spaces, I don't see that as significant.  But 
rather the fgets().



_______________________________________________
Mailing list: https://launchpad.net/~kicad-developers
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~kicad-developers
More help   : https://help.launchpad.net/ListHelp

Reply via email to