Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. Visual Basic
  4. I am a Beginner, could you help please?.

I am a Beginner, could you help please?.

Scheduled Pinned Locked Moved Visual Basic
helpquestionlearning
13 Posts 4 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M Member 10118706

    Hi guys this is simple but I'm a novice trying to cache the getMyresult function but I'm struggling to find the code to do so, could you help please? :|. I don't want the answer just some of the methods and syntax.

    Sub Main
    console.writeline(getmyresult(2)) 'takes a while'
    console.writeline(getmyresult(3)) 'takes a while'
    console.writeline(getmyresult(2)) 'Should be instant'
    console.writeline(getMyresult(3)) 'Should be instant'
    End Sub

    function getMyresult(X as interger) as integer
    dim Y as integer=LongCompute(X)
    return Y
    end function

    function LongCompute(X as integer) as integer
    system.threading.thread.sleep(1000)
    return x^2
    end function

    P Offline
    P Offline
    PrissySC
    wrote on last edited by
    #3

    Why are you sleeping? When you put in a "sleep" the the application goes to sleep. You are blocking the thread from running. There are some instances where you need to use 0, but that is rare. And I would write this ... Function GetResult (ByVal num as Integer) as Integer return num^2 End Function Getmyresult is not needed at all. Sleep is not needed. Also, Public Main and Private Function. When you say "cache", I am not sure if you are using the term, but you can cache ... http://stackoverflow.com/questions/533861/writing-a-cache-function-in-vb-net[^] The cache class ... http://msdn.microsoft.com/en-us/library/system.web.caching.cache.aspx[^]

    D M 2 Replies Last reply
    0
    • D Dave Kreskowiak

      GetMyResult has to maintain it's own cache of result values. Create a collection to store Key/Value pairs, usually a Dictionary(Of Integer, Integer). The Key value will be the integer you pass in and the result will be the value returned by LongCompute. Basically, when GetMyResult is called, it uses the value passed in to search the Dictionary for that value. If it's found, it can return the value associated with that key. If it's not found, then you call LongCompute with the passed in value, get the result, and add the new key/value pair to the dictionary. Lastly, return the result back to the caller.

      A guide to posting questions on CodeProject[^]
      Dave Kreskowiak

      P Offline
      P Offline
      PrissySC
      wrote on last edited by
      #4

      Just curious Dave and Poster, but what does this mean in context - "cache"? I guess the simplicity of the code has me puzzled - two-stepping for a single computation. I can't see beyond that. I use a dictionary and actually truly cache with the class. Purpose?

      D 1 Reply Last reply
      0
      • P PrissySC

        Why are you sleeping? When you put in a "sleep" the the application goes to sleep. You are blocking the thread from running. There are some instances where you need to use 0, but that is rare. And I would write this ... Function GetResult (ByVal num as Integer) as Integer return num^2 End Function Getmyresult is not needed at all. Sleep is not needed. Also, Public Main and Private Function. When you say "cache", I am not sure if you are using the term, but you can cache ... http://stackoverflow.com/questions/533861/writing-a-cache-function-in-vb-net[^] The cache class ... http://msdn.microsoft.com/en-us/library/system.web.caching.cache.aspx[^]

        D Offline
        D Offline
        Dave Kreskowiak
        wrote on last edited by
        #5

        Because his code is an example!

        A guide to posting questions on CodeProject[^]
        Dave Kreskowiak

        M 1 Reply Last reply
        0
        • P PrissySC

          Just curious Dave and Poster, but what does this mean in context - "cache"? I guess the simplicity of the code has me puzzled - two-stepping for a single computation. I can't see beyond that. I use a dictionary and actually truly cache with the class. Purpose?

          D Offline
          D Offline
          Dave Kreskowiak
          wrote on last edited by
          #6

          To hold a table of values that have already been computed so you don't have to run through a potentially time-consuming calculation again to return the same value for the given input.

          A guide to posting questions on CodeProject[^]
          Dave Kreskowiak

          P 1 Reply Last reply
          0
          • D Dave Kreskowiak

            To hold a table of values that have already been computed so you don't have to run through a potentially time-consuming calculation again to return the same value for the given input.

            A guide to posting questions on CodeProject[^]
            Dave Kreskowiak

            P Offline
            P Offline
            PrissySC
            wrote on last edited by
            #7

            Exactly the same way that I do on the accounting side of my apps, but I exlicitly set out to cache. Sorry to inject! I had curiosity get the best of me as I was looking at the code and realizing that it is a textbook example has answered the question. Once again, sorry! Thanks for the replies, and let me know if you solve the threading problem. LOL ... Attempted multitasking this day. :wtf:

            D 1 Reply Last reply
            0
            • D Dave Kreskowiak

              Because his code is an example!

              A guide to posting questions on CodeProject[^]
              Dave Kreskowiak

              M Offline
              M Offline
              Member 10118706
              wrote on last edited by
              #8

              Dear Dave, Many thanks for explaining it to me as well instead of just giving me the code, My teacher will be impressed haha Many Thanks 101

              1 Reply Last reply
              0
              • P PrissySC

                Why are you sleeping? When you put in a "sleep" the the application goes to sleep. You are blocking the thread from running. There are some instances where you need to use 0, but that is rare. And I would write this ... Function GetResult (ByVal num as Integer) as Integer return num^2 End Function Getmyresult is not needed at all. Sleep is not needed. Also, Public Main and Private Function. When you say "cache", I am not sure if you are using the term, but you can cache ... http://stackoverflow.com/questions/533861/writing-a-cache-function-in-vb-net[^] The cache class ... http://msdn.microsoft.com/en-us/library/system.web.caching.cache.aspx[^]

                M Offline
                M Offline
                Member 10118706
                wrote on last edited by
                #9

                Prissy, Thank you very much for the code I appreaciate the help im glad Dave explained it to me as this would of been cheating :P :-O

                D 1 Reply Last reply
                0
                • M Member 10118706

                  Prissy, Thank you very much for the code I appreaciate the help im glad Dave explained it to me as this would of been cheating :P :-O

                  D Offline
                  D Offline
                  Dave Kreskowiak
                  wrote on last edited by
                  #10

                  I don't do it any other way! Good Luck!

                  A guide to posting questions on CodeProject[^]
                  Dave Kreskowiak

                  1 Reply Last reply
                  0
                  • P PrissySC

                    Exactly the same way that I do on the accounting side of my apps, but I exlicitly set out to cache. Sorry to inject! I had curiosity get the best of me as I was looking at the code and realizing that it is a textbook example has answered the question. Once again, sorry! Thanks for the replies, and let me know if you solve the threading problem. LOL ... Attempted multitasking this day. :wtf:

                    D Offline
                    D Offline
                    Dave Kreskowiak
                    wrote on last edited by
                    #11

                    Threading problem?? What threading problem??

                    A guide to posting questions on CodeProject[^]
                    Dave Kreskowiak

                    1 Reply Last reply
                    0
                    • M Member 10118706

                      Hi guys this is simple but I'm a novice trying to cache the getMyresult function but I'm struggling to find the code to do so, could you help please? :|. I don't want the answer just some of the methods and syntax.

                      Sub Main
                      console.writeline(getmyresult(2)) 'takes a while'
                      console.writeline(getmyresult(3)) 'takes a while'
                      console.writeline(getmyresult(2)) 'Should be instant'
                      console.writeline(getMyresult(3)) 'Should be instant'
                      End Sub

                      function getMyresult(X as interger) as integer
                      dim Y as integer=LongCompute(X)
                      return Y
                      end function

                      function LongCompute(X as integer) as integer
                      system.threading.thread.sleep(1000)
                      return x^2
                      end function

                      C Offline
                      C Offline
                      Christianirwan
                      wrote on last edited by
                      #12

                      Is it VB 6 or VB .NET? I don't know about return statement in VB 6? I'm forgot to choose Question. Oh, it's a VB .NET Discussion. I don't know. Sorry.

                      M 1 Reply Last reply
                      0
                      • C Christianirwan

                        Is it VB 6 or VB .NET? I don't know about return statement in VB 6? I'm forgot to choose Question. Oh, it's a VB .NET Discussion. I don't know. Sorry.

                        M Offline
                        M Offline
                        Member 10118706
                        wrote on last edited by
                        #13

                        Haha

                        1 Reply Last reply
                        0
                        Reply
                        • Reply as topic
                        Log in to reply
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes


                        • Login

                        • Don't have an account? Register

                        • Login or register to search.
                        • First post
                          Last post
                        0
                        • Categories
                        • Recent
                        • Tags
                        • Popular
                        • World
                        • Users
                        • Groups