Please see nuvoc foreign conjunction for detail if you don't know anything
about 3!:1/3!:2.

No, Jmf and 3!:1/3!:2 are totally different.

On Fri, 3 Feb 2023 at 6:04 PM Ak O <akin...@gmail.com> wrote:

> I guess one of my questions directed at how the function works under the
> hood.
>
> Is it that 3!:2 is the mechanism jmf uses to treat the map?
> How do these forms differ?
>
> Ak
>
> On Thu., Feb. 2, 2023, 22:31 Raul Miller, <rauldmil...@gmail.com> wrote:
>
> > You can measure overhead with timespacex
> >
> > Maybe you had already been doing that?
> >
> > --
> > Raul
> >
> > On Thu, Feb 2, 2023 at 11:29 PM Ak O <akin...@gmail.com> wrote:
> > >
> > > Is this less overhead than the jmf form?
> > >
> > > In your example, every case where I want to operate on a file or an
> > object
> > > within the file requires translation through the 3!:2 operator.
> > >
> > > Maybe it is functionally the same as the map_jmf_ function, or am I
> > > thinking about this incorrectly?
> > > Or can you please explain the difference.
> > >
> > > Thx
> > >
> > >
> > > Ak
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > > On Thu., Feb. 2, 2023, 15:43 Don Guinn, <dongu...@gmail.com> wrote:
> > >
> > > > 'testfile.txt' fwrite~3!:1 'Hello World!';(i.3 4);<2 1$'Text Here';1
> 2
> > 3 4
> > > >  456
> > > >
> > > > 3!:2 fread 'testfile.txt'
> > > >
> > > > ┌────────────┬─────────┬───────────┐
> > > >
> > > > │Hello World!│0 1 2 3│┌─────────┐│
> > > >
> > > > │ │4 5 6 7││Text Here││
> > > >
> > > > │ │8 9 10 11│├─────────┤│
> > > >
> > > > │ │ ││1 2 3 4 ││
> > > >
> > > > │ │ │└─────────┘│
> > > >
> > > > └────────────┴─────────┴───────────┘
> > > >
> > > > On Thu, Feb 2, 2023 at 2:19 PM Ak O <akin...@gmail.com> wrote:
> > > >
> > > > > In this case the data is an array of boxes.
> > > > > The datatype is 'boxe'd.
> > > > > The data is of some shape.
> > > > >
> > > > > These things have to be preserved in order to correctly restore
> them
> > > > > later. (at some cost,  up-front to specify them,  afterwards to
> > recall
> > > > the
> > > > > specifics, or something else) It might be easy to write as literal,
> > but
> > > > > reverting  back can present some challenges.
> > > > >
> > > > > For example:
> > > > > ary=: 'abcd';4 5 6 7; 2 2 $ 8.9 7.6 .6.5 5.4
> > > > >
> > > > >      datatype ary
> > > > > boxed
> > > > >
> > > > >      datatype ":ary
> > > > > literal
> > > > > ***Danger***
> > > > >      $ary     NB. An array of structures that preserves operational
> > > > > intention.
> > > > > 3
> > > > >      $":ary   NB. An array whose structure is different than its
> > > > > operational intention.
> > > > > 4 22
> > > > >
> > > > > These are different and need to be accounted for.
> > > > >
> > > > >      datatype (>0{ary)
> > > > > literal
> > > > >
> > > > >      datatype (>1{ary)
> > > > > Integer
> > > > >
> > > > >      datatype (>2{ary)
> > > > > floating
> > > > >
> > > > >
> > > > > Each unit has a shape and a type to preserve.
> > > > >
> > > > > If I want to operate on this object with the meaning intended for
> it
> > when
> > > > > it was created, many errors can be avoided when unnecessary
> > intermediate
> > > > > conversions are avoided.
> > > > >
> > > > > Jmf allows you to operate directly without having the need to
> > > > > revert from literal to your operation/operand, datatype (with the
> > > > > associated overhead and tracking).I am not saying that there is no
> > > > overhead
> > > > > with jmf, just that the cognitive load is offset or preset because
> > jmf
> > > > > treats it for the user.
> > > > >
> > > > >
> > > > > (1!2 & 1!:/, fwrite , fread) forms.
> > > > > 1. Convert to literal.
> > > > > 2. Write literal to file.
> > > > > 3. Read literal from file.
> > > > > 4. Convert literal type to operation type
> > > > > 5. Operate with type.
> > > > > End
> > > > > ___
> > > > >
> > > > > jmf form.
> > > > > 1. Create jmf file.
> > > > > 2. Map jmf file.
> > > > > 3. Operate with file.
> > > > > End
> > > > >
> > > > >
> > > > > I am interested in understanding better how the best performance is
> > > > > achieved comparing these forms.
> > > > >
> > > > > Thoughts.
> > > > >
> > > > >
> > > > > Ak
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > On Thu., Feb. 2, 2023, 07:51 bill lam, <bbill....@gmail.com>
> wrote:
> > > > >
> > > > > > Using Jmf is overkill. Also what are the advantages of jmf over
> > > > 3!:1/3!:2
> > > > > > in this case?
> > > > > >
> > > > > > On Thu, 2 Feb 2023 at 7:17 PM Ak O <akin...@gmail.com> wrote:
> > > > > >
> > > > > > >      load 'jmf'
> > > > > > > NB. Loads jmf facilities.
> > > > > > >
> > > > > > >      testfile =: {2,\?50#75
> > > > > > >
> > > > > > >      fn =: jpath
> > 'C:\Users\skip\J904-user\temp\foo\testfile_name.jmf'
> > > > > > > NB. Links a covername to the file path.
> > > > > > >      createjmf_jmf_ fn;(([:(*&8)#);testfile)
> > > > > > > NB. Create the container for your file.
> > > > > > > NB. -fn is your reference name
> > > > > > > NB. -(([:(*&8)#);testfile) allocates the size of yor fike in
> > bytes
> > > > > > >
> > > > > > >      map_jmf_ 'testfile_disk';fn
> > > > > > > NB. Maps the file to a noun 'testfile_disk'
> > > > > > >      ] testfile_disk_jmf_ =: testfile
> > > > > > >
> > > > > > >      unmap_jmf 'testfile_disk_jmf_'
> > > > > > > NB. Release mappings
> > > > > > > Or
> > > > > > > Exit 0
> > > > > > > Close session.
> > > > > > >
> > > > > > >
> > > > > > > New session.
> > > > > > >
> > > > > > >      load 'jmf'
> > > > > > >      fn =:  jpath
> > > > 'C:\Users\skip\J904-user\temp\foo\testfile_name.jmf'
> > > > > > >      map_jmf_ 'testfile1';fn
> > > > > > > NB. Map file
> > > > > > >      ] testfile1_jmf_
> > > > > > > NB. File loaded as noun 'testfile1_jmf_'
> > > > > > >
> > > > > > > Some potential benefits of the .jmf datatype:
> > > > > > > -Preserves header and shape information.
> > > > > > > -If you want to map you file as read only, use the following
> > syntax
> > > > > > > map_jmf_ 'testfile1';fn;'';1
> > > > > > > -If you would like it to be copy-on-write use the following
> > syntax
> > > > > > > map_jmf_ 'testfile1';fn;'';2
> > > > > > >
> > > > > > >
> > > > > > > Ak
> > > > > > >
> > > > > > > On Wed., Feb. 1, 2023, 21:48 'Skip Cave' via Programming, <
> > > > > > > programm...@jsoftware.com> wrote:
> > > > > > >
> > > > > > > > I have a boxed noun:
> > > > > > > >
> > > > > > > > ] testfile =: {2,\?15#50
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> >
> ┌────┬─────┬─────┬─────┬─────┬─────┬────┬────┬────┬────┬─────┬────┬───┬────┐
> > > > > > > >
> > > > > > > > │9 21│21 47│47 37│37 13│13 33│33 20│20 4│4 49│49 6│6 25│25
> > 33│33
> > > > 9│9
> > > > > > 6│6
> > > > > > > > 43│
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> >
> └────┴─────┴─────┴─────┴─────┴─────┴────┴────┴────┴────┴─────┴────┴───┴────┘
> > > > > > > >
> > > > > > > >
> > > > > > > > I want to store it in the following location on my machine:
> > > > > > > >
> > > > > > > >
> > > > > > > > ]fn =. < 'C:\Users\skip\J904-user\temp'
> > > > > > > >
> > > > > > > > ┌────────────────────────────┐
> > > > > > > >
> > > > > > > > │C:\Users\skip\J904-user\temp│
> > > > > > > >
> > > > > > > > └────────────────────────────┘
> > > > > > > >
> > > > > > > > Then I will close that J session.
> > > > > > > >
> > > > > > > >
> > > > > > > > Later, I will start a new J session, and I want to read that
> > saved
> > > > > file
> > > > > > > > into a noun called 'test1'
> > > > > > > >
> > > > > > > >
> > > > > > > > What is the J code for writing the noun into a file in the
> > first
> > > > > > session?
> > > > > > > >
> > > > > > > > What is the J code to read the file into a noun in the second
> > > > > session?
> > > > > > > >
> > > > > > > > Should I use 1!2 & 1!:1, or fwrite & fread, or something
> else?
> > > > > > > >
> > > > > > > >
> > > > > > > > Where in the J doc are these file operations and their
> > tradeoffs
> > > > > > > described?
> > > > > > > >
> > > > > > > >
> > > > > > > > Skip
> > > > > > > >
> > > > > > > >
> > > > > > > > Skip Cave
> > > > > > > > Cave Consulting LLC
> > > > > > > >
> > > > >
> > ----------------------------------------------------------------------
> > > > > > > > For information about J forums see
> > > > > http://www.jsoftware.com/forums.htm
> > > > > > > >
> > > > > > >
> > > >
> ----------------------------------------------------------------------
> > > > > > > For information about J forums see
> > > > http://www.jsoftware.com/forums.htm
> > > > > > >
> > > > > >
> > ----------------------------------------------------------------------
> > > > > > For information about J forums see
> > http://www.jsoftware.com/forums.htm
> > > > > >
> > > > >
> > ----------------------------------------------------------------------
> > > > > For information about J forums see
> > http://www.jsoftware.com/forums.htm
> > > > >
> > > >
> ----------------------------------------------------------------------
> > > > For information about J forums see
> http://www.jsoftware.com/forums.htm
> > > >
> > > ----------------------------------------------------------------------
> > > For information about J forums see http://www.jsoftware.com/forums.htm
> > ----------------------------------------------------------------------
> > For information about J forums see http://www.jsoftware.com/forums.htm
> >
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
>
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to