I see that print_sword_fp_dec() was removed. Is this procedure used at
all in any samples? I did define it in the debug library, but I think
I should remove it.

Maybe it should be removed from print.jal since it is in format.jal?

Matt.

On Oct 30, 9:42 pm, mattschinkel <[email protected]> wrote:
> Good work, I'll play around with it when I get a chance.
>
> I don't see any need for 2 separate libs. If this one is faster and
> indeed scalable, it should replace the existing.
>
> Matt.
>
> On Oct 30, 12:22 pm, Oliver Seitz <[email protected]> wrote:
>
>
>
> > Don't read if you're in a hurry.
> > Nothing important in this mail, only a whole lot of waffle.
> > ;-)
>
> > Here are some results of some calculations and some
> > experiments...
>
> > Memory:
>
> > Both data and code size can be a bit larger or smaller when
> > you switch from print.jal to print_scalable.jal. Difference
> > is usually small. It mainly depends, if dword divisions are
> > used within the program. If you do not need dwords and limit
> > the range to one or two bytes before including
> > print_scalable.jal, you most certainly will save ram and
> > flash.
>
> > Speed:
>
> > How long should a conversion from a binary number to a
> > decimal number take? Simple answer: Not too long. What is
> > too long? Let's take the fastest PIC and the slowest
> > interface.
>
> > The slowest and most common interface would be RS232. It
> > can usually do up to 115200 bit per second. Counting start-
> > and stopbits, that's 11520 chars per second.
>
> > The decimal representation of a dword has about 9.74 digits
> > in average. I'll only talk about average values here.
> > Divided the chars per second by this number gives 1182.6,
> > which is the number of dwords that can be transmitted via
> > RS232 per second.
>
> > Lets take a real fast PIC. 64MHz seems appropriate, that is
> > 16MHz instruction clock. This, divided by the numbers per
> > second makes 13530 cycles. If a conversion routine takes
> > less cycles, the interface will set the speed. If it takes
> > more, the interface will be waiting for the converted data.
> > If you're thinking at either slower clock speeds, or at USB,
> > I2C or SPI, the conversion should preferably be much
> > faster.
>
> > How fast is it, then? For print.jal, I can not tell yet.
> > The test program is still running. The result so far is
> > 42906 cycles per dword. This only counts the numbers 0 to
> > 766158238. That is how far the program made it after 38
> > days.
>
> > For print_scalable, I could do some simplification to get
> > the result faster, so here I got the average for all the
> > values from 0 to 4294967290 as 3840. That is more than ten
> > times faster, and, the slowest number (3999999999) for
> > scalable ist still faster than the so far fastest number for
> > "conventional" (200000000). (The really fastest number,
> > zero, is handled by an unfair exception ;-) )
>
> > Some more examples: at 20MHz, print yields 1135 chars per
> > second, at 4MHz 227. Print_scalable at 20MHz converts 12628
> > chars per second, and 2536 at 4MHz. A 4MHz controller using
> > print.jal thus can only transmit decimal data at a rate like
> > 2400 baud, which is not what I would expect. Print_scalable
> > makes at least around 19200 baud, which really looks less
> > dull.
>
> > In the attached graph, a minimum, maximum and average has
> > been computed for each interval of ten millions to make
> > straight lines visible.
>
> > Greets,
> > Kiste
>
> > P.S.: If someone is interested, I can send the raw data by
> > email. The list of decimal numbers makes a text of 20GByte,
> > but xz packs it to 15MByte.
>
> > P.P.S.:
> > Here's the "Hitlist" for print.jal:
>
> > Top values:                 | Bottom values:
> >    1.:  48160 @  757777777  |       58 @          0
> >    2.:  48150 @  737777777  |     5506 @  200000000
> >    3.:  48140 @  377777777  |     5515 @  100000000
> >    4.:  48130 @  697777777  |     5546 @  300000000
> >    5.:  48126 @  757777773  |     5596 @  700000000
> >    6.:  48125 @  757737777  |     5904 @     200000
> >    7.:  48124 @  757776777  |     5908 @     100000
> >    8.:  48120 @  357777777  |     5928 @    2000000
> >    9.:  48116 @  737777773  |     5932 @    1000000
> >   10.:  48115 @  737737777  |     5947 @   20000000
> >   11.:  48114 @  737776777  |     5954 @     300000
> >   12.:  48110 @  337777777  |     5956 @   10000000
> >   13.:  48106 @  377777773  |     5968 @    3000000
> >   14.:  48105 @  377737777  |     5987 @   30000000
> >   15.:  48104 @  377776777  |     5992 @   90000000
> >   16.:  48100 @  177777777  |     5994 @     700000
> >   17.:  48096 @  697777773  |     6008 @    7000000
> >   18.:  48095 @  697737777  |     6017 @   70000000
> >   19.:  48094 @  697776777  |     6325 @       1000
> >   20.:  48092 @  757777772  |     6326 @       2000
> >   21.:  48091 @  757737773  |     6349 @      10000
> >   22.:  48090 @  277777777  |     6350 @      20000
> >   23.:  48089 @  757736777  |     6366 @       3000
> >   24.:  48086 @  357777773  |     6390 @      30000
> >   25.:  48085 @  357737777  |     6410 @       7000
>
> > And here for print_scalable.jal:
>
> > Top values:                 | Bottom values:
> >    1.:   5225 @ 3999999991  |      104 @          0
> >    2.:   5222 @ 3999999990  |      280 @         10
> >    3.:   5198 @ 2999999991  |      283 @         11
> >    4.:   5195 @ 2999999990  |      319 @         20
> >    5.:   5188 @ 3899999991  |      322 @         21
> >    6.:   5187 @ 3999989991  |      358 @         30
> >    7.:   5185 @ 3899999990  |      361 @         31
> >    8.:   5184 @ 3999989990  |      397 @         40
> >    9.:   5181 @ 3999999890  |      400 @         41
> >   10.:   5180 @ 3999998991  |      436 @         50
> >   11.:   5177 @ 3999998990  |      439 @         51
> >   12.:   5176 @ 3998999991  |      460 @        100
> >   13.:   5173 @ 3998999990  |      463 @        101
> >   14.:   5171 @ 1999999991  |      475 @         60
> >   15.:   5169 @ 3999899991  |      478 @         61
> >   16.:   5168 @ 1999999990  |      499 @        110
> >   17.:   5166 @ 3999899990  |      502 @        111
> >   18.:   5161 @ 2899999991  |      514 @         70
> >   19.:   5160 @ 2999989991  |      517 @         71
> >   20.:   5158 @ 2899999990  |      532 @        300
> >   21.:   5157 @ 2999989990  |      535 @        301
> >   22.:   5156 @ 3889999991  |      538 @        120
> >   23.:   5154 @ 2999999890  |      541 @        121
> >   24.:   5153 @ 2999998991  |      553 @         80
> >   25.:   5151 @ 3979999991  |      556 @         81
>
> >  graph.png
> > 34KViewDownload- Hide quoted text -
>
> - Show quoted text -

-- 
You received this message because you are subscribed to the Google Groups 
"jallib" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/jallib?hl=en.

Reply via email to