Skip to content

anindyatahsin/testrepo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

GiftGiving

assumption: here I only used all products under boots category to illustrate my code.

This code generates all possible combinations that fits within +/-($RANGE)/2 of the total sum As several of the products has the same prices there are many many possible outputs

Some ideas to speed up the code:

In my code I used a loop to retrieve all 125 pages of products sequentially. However, this fetching is embarrassingly parallel. This process can be executed in parallel very easily by spawning 100 threads and assigning each thread to retrieve 1/2 pages. With proper synchronization this process will run significantly faster than the sequential retrieval.

Once all the products are retrieved, the makeList method in the code starts generating possible combinations of products close to the users budget. In order to improve the response time to the user, we can easily spawn another thread that will take say the 100 possible combinations and show it to the user. Then if the user wants to see more suggestions this thread can again pull up next 100 solutions and so on. But this process can eventually create a producer/consumer problem. Which we can solve using proper synchronization (using semaphors).

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages