I participated in the ISUCON10 qualifying!

ISUCON first participation!

I have participated in ISUCON10! It was a very meaningful experience because it was my first time to participate in such a contest (competitive programming)! In this article, I would like to introduce my own experience and what ISUCON is all about.

What is ISUCON: thinking:

Contest to speed up nicely (** I ** ikanjini ** S ** peed ** U ** p ** CON ** test) Abbreviation for **, a tuning battle that speeds up the subject Web service to the limit within the specified regulations **.

Participants only speed up the Web system given as the theme for a limited time (** 8 hours !! **) We are committed to ** how to read, understand, and improve performance of the entire system **.

It is divided into a qualifying round and a main round, and only 30 teams out of the total will win the qualifying round, which is the outpost! ** ** Recently, with the participation of students, it is further divided into general and student slots. ** General 25 teams **, ** Students 5 teams ** will be selected.

** The winning prize is 1 million yen! It is a generous tournament called **.

It has been held 10 times in total so far, and this time it was the 10th time to commemorate: clap:

Constitution

Online qualifying language ratio
The overall ranking of utilization rates is as follows.

Go 276 pairs 59.0%
Ruby 81 pairs 17.3%
Python 47 pairs 10.0%
Nodejs 29 pairs 6.2%
PHP 18 pairs 3.8%
Rust 8 pairs 1.7%
Perl 7 pairs 1.5%
Elixir 1 set 0.2%
original-ruby 1 set 0.2%

This issue

A website called issumo where you can search for chairs and properties, purchase and request materials ** was given as a problem this time. The main functions were as follows.

etc...

This time, there was no processing such as login, so I think it was a purely problem of figuring out what the system bottleneck was. Personally, the search was amazing, especially by tracing! The UI that displays the property information within the range from the latitude and longitude of the traced range was good ...!

What I did on the day

Summary

If you put it together in this way, you can clearly see that I couldn't move at all on the day. Although I am usually dedicated to the front end, I realized that I am overwhelmingly lacking in knowledge and experience related to the back end. To be honest, I'm really disappointed.

Reflections & impressions

Looking back later, I found it while commenting ** Like search part ** and ** N + 1-like part ** (trace search) ** I was buried in other work **, which is a point of reflection. Also, ** I couldn't think of a way to improve the query, and I was stunned **, so if there wasn't one I think I could move my hand a little more. I don't usually touch Go, so it might be a good idea to make a backend server with Go. In any case, ISUCON was keenly aware of his lack of ability. But it was really fun! It was a good opportunity to acquire various knowledge and languages that I don't usually touch. There was also an implementation in Deno, so I thought it would be ant to use typescript in the backend.

This time, the DB was only a property and a chair, and there was no SQL that JOINed each other, so some teams were doing a rough job of allocating DBs to each! The ideas I can come up with are already amazing. .. .. !!

I thought that the management that gathered what is usually held on Saturdays and Sundays on Saturdays and handled 500 groups of participants was really amazing. Thank you so much: smile:

Explanation of qualifying questions

It is published at http://isucon.net/archives/55025156.html!

Recommended Posts

I participated in the ISUCON10 qualifying!
Participated in the first ISUCON with the team "Lunch" # ISUCON10 Qualifying
What I learned by participating in the ISUCON10 qualifying
I participated in AtCoder (ABC158)
I participated in the translation activity of Django official documents
I got lost in the maze
I participated in PyData Tokyo Meetup # 2
I wrote the queue in Python
I participated in Kaggle's NFL competition
I participated in AtCoder (ABC169 edition)
I wrote the stack in Python
I saved the scraped data in CSV!
I wrote the selection sort in C
I can't get the element in Selenium!
I wrote the sliding wing in creation.
I tried simulating the "birthday paradox" in Python
I tried the least squares method in Python
I can't enter characters in the text area! ?? !! ?? !! !! ??
I wrote the hexagonal architecture in go language
I implemented the inverse gamma function in python
I checked the calendar deleted in Qiita Advent Calendar 2016
I implemented Human In The Loop ― Part ① Dashboard ―
I want to display the progress in Python!
I tried to graph the packages installed in Python
After attending school, I participated in SIGNATE's BEGINNER limited competition for the first time.
I want to write in Python! (3) Utilize the mock
I participated in competitive programming in a week after I started programming
I counted the grains
[Note] I can't call the installed module in jupyter
I want to use the R dataset in python
I can't use the darknet command in Google Colaboratory!
I checked the Python package pre-installed in Google Cloud Dataflow
I was in trouble because the character string in the PDF was strange
I tried the accuracy of three Stirling's approximations in python
Mezzanine introduction memo that I got stuck in the flow
I wrote the basic operation of Seaborn in Jupyter Lab
I tried to summarize the code often used in Pandas
I tried to illustrate the time and time in C language
I tried programming the chi-square test in Python and Java.
I wrote it in Go to understand the SOLID principle
I tried to summarize the commands often used in business
I tried to implement the mail sending function in Python
I can't log in to the admin page with Django3
I wrote the basic operation of Numpy in Jupyter Lab.
I want to make the Dictionary type in the List unique
I want to align the significant figures in the Numpy array
I implemented N-Queen in various languages and measured the speed
I wrote a script that splits the image in two
I didn't want to write the AWS key in the program
I examined the device tree
Download the file in Python
Find the difference in Python
Code that I wish I had remembered when I participated in AtCoder for the first time (Reflection 1 for the next time)
I tweeted from the terminal!
I touched the Qiita API
I tried the changefinder library!
Methods available in the list
[Report] Participated in PyCon 2016 JP
I understand Python in Japanese!
What I learned in Python
I downloaded the python source