Giter Club home page Giter Club logo

backend-benchmarking-assessment's Introduction

Assessment: I don't have time for this

Imagine that you've been working on this program on a team of developers. You've done all the right things up until now, including writing doctests and unittests.

Unfortunately, a previous teammate not only committed code that made the benchmarking tests fail, but they force-pushed to master after rewriting history, so you can't simply go back in the git history to fix things. Especially since, in the process of ruining the timings, the developer did manage to implement features that weren't there before.

Your task is to modify anagrams.py such that the tests pass again. If the problem isn't obvious to you by visually examining the anagrams.py module, consider using the profiling techniques that you learned about in the lesson to pin down the problem. Using a debugger may also help you to get a handle on exactly why things are slow.

Skipped unit test

If you look at the test case, you'll notice that the test_long unit test is currently being skipped. That's because if it were to run with the current implementation of find_anagrams it would take several minutes to complete. We suggest that you try and get the test_short to pass first, then remove the @skip line and ensure that the tests still pass.

You can run the doctests with the following command:

$ python -m doctest -v anagrams.py words/short.txt

You can also run the tests with the unittest framework. From the top level of the assignment, use the following command:

$ python -m unittest discover

Good Luck!

backend-benchmarking-assessment's People

Contributors

madarp avatar aphonicchaos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.